C# 将动态类型转换为列表
我正在使用FacebookC#SDK获取数据。我想使用C# 将动态类型转换为列表,c#,wpf,facebook-c#-sdk,C#,Wpf,Facebook C# Sdk,我正在使用FacebookC#SDK获取数据。我想使用parallel.foreach但无法使用它-相反,出现了一个错误: 如果不首先将lambda表达式强制转换为委托或表达式树类型,则无法将其用作动态调度操作的参数 那么,有没有办法将检索到的数据转换为列表 dynamic friends = app.Get("me/friends"); Parallel.ForEach(friends.data, friendsData => { Interlocked.I
parallel.foreach
但无法使用它-相反,出现了一个错误:
如果不首先将lambda表达式强制转换为委托或表达式树类型,则无法将其用作动态调度操作的参数
那么,有没有办法将检索到的数据转换为列表
dynamic friends = app.Get("me/friends");
Parallel.ForEach(friends.data, friendsData =>
{
Interlocked.Increment(ref infoCount);
LoadFriends(friend, infoCount);
});
如果不能使用lambda表达式,是否尝试过匿名方法
dynamic friends = app.Get("me/friends");
Parallel.ForEach(friends.data, delegate(dynamic friendsData)
{
Interlocked.Increment(ref infoCount);
LoadFriends(friend, infoCount);
});
如果不能使用lambda表达式,是否尝试过匿名方法
dynamic friends = app.Get("me/friends");
Parallel.ForEach(friends.data, delegate(dynamic friendsData)
{
Interlocked.Increment(ref infoCount);
LoadFriends(friend, infoCount);
});
我使用以下代码将JsonArray转换为id作为键、名称作为值的字典
var friendlist = (friends.data as Facebook.JsonArray).ToDictionary(
p => (p as Facebook.JsonObject)["id"].ToString(),
p => (p as Facebook.JsonObject)["name"].ToString());
Parallel.ForEach(friendlist, friend
{
Interlocked.Increment(ref infoCount);
LoadFriends(friend, infoCount);
}
我使用以下代码将JsonArray转换为id作为键、名称作为值的字典
var friendlist = (friends.data as Facebook.JsonArray).ToDictionary(
p => (p as Facebook.JsonObject)["id"].ToString(),
p => (p as Facebook.JsonObject)["name"].ToString());
Parallel.ForEach(friendlist, friend
{
Interlocked.Increment(ref infoCount);
LoadFriends(friend, infoCount);
}
什么样的数据会在friends中返回?它是XML,一种数据结构,是什么?使用var而不是dynamic解决了您的问题吗?什么样的数据会在friends中返回?它是XML,一种数据结构,是什么?使用var而不是dynamic能解决您的问题吗?在调用Parallel.ForEach之前,请尝试将friends.data转换为IEnumerable。在调用Parallel.ForEach之前,请尝试将friends.data转换为IEnumerable