我正在处理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