C# 将动态类型转换为列表

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

我正在使用FacebookC#SDK获取数据。我想使用
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