我正在處理Silverlight應用程序。由於SL不支持數組列表,我正在使用數組和列表對象。 我想將keyvaluepair的列表轉換爲數組。 但是,當我做到以下幾點:在C中的數組keyvaluepair的列表#
private KeyValuePair<String, int>[] array1;
List<KeyValuePair<String, int>> list1 = methodCall.Result();
array1 = list1.ToArray();
我已經調試和確認,列表1的結果不是空的,因爲該方法調用的結果。但是,即使在轉換之後,array1也是空的。我做錯了什麼?
編輯:這裏是代碼的完整代碼。
private KeyValuePair<String, int>[] array1;
private KeyValuePair<string, int>[] getlocalUniversities()
{
ASASService.ASASServiceClient client1 = new ASASService.ASASServiceClient();
client1.getLocalUniversitiesCompleted += new EventHandler<ASASService.getLocalUniversitiesCompletedEventArgs>(client_getLocalUniversitiesCompleted);
client1.getLocalUniversitiesAsync();
return array1;
}
void client_getLocalUniversitiesCompleted(object sender, ASASService.getLocalUniversitiesCompletedEventArgs ex)
{
if (ex.Error == null && ex.Result != null)
{
List<KeyValuePair<string, int>> list1 = ex.Result;
array1 = list1.ToArray();
}
else
{
MessageBox.Show(ex.Error.Message);
}
}
//
THE ASASService method getLocalUniversities() returns a List<KeyValuePair<String, int>>.
From there, I see that it has 1(expected) result consisting of <"NUS", 50>.
However, when I get it here as ex.Result, ex.Result contains 1 result consisting of <null, 0>.
你沒有偶然碰巧聲明一個局部變量'array1'並將結果設置爲? – 2012-02-07 03:13:17
@ JeffMercado的評論是有道理的,因爲您發佈的代碼不完整 - array1顯然是一個字段,但其他兩行看起來像屬於一個方法。這裏還有其他事情發生 - 這是什麼? – 2012-02-07 03:27:30
用「List」做「做」嗎? 99%的時間,我會拋棄'ArrayList'來獲取'List '。 –
2012-02-07 03:28:14