首页 文章

使用LinqToTwitter难以从twiitter访问数据

提问于
浏览
1

我在C#中使用以下代码

var users = (from user in twitterCtx1.User
             where user.Type == UserType.Lookup &&
                   user.UserID == list1
             select user)
             .ToList();

list1拥有twitter验证帐户的所有ID,我一次处理75条记录 . 当我调试我的代码时,我看到list1中填充了所有ID,但是当控件传入代码的这一部分时,它不会进入其中,因为这里传递的值是 NULL

我无法理解为什么值为 NULL . 我在这里错过了什么?

提前致谢!

2 回答

  • 0

    您正在将 user.UserID 与整个 list1 对象进行比较 . 你的意思是写 list1.Contains(user.userID)

  • 0

    我仍然不清楚你看到的是什么错误,但这里有一些可能有用的提示 .

    list1需要是一个以逗号分隔的用户IDS列表的字符串 . 这里有一些代码来展示它是如何工作的:

    var followers =
                (from user in twitterCtx.SocialGraph
                 where user.Type == SocialGraphType.Followers &&
                       user.ScreenName == "JoeMayo"
                 select user)
                .SingleOrDefault();
    
            var userIDs = string.Join(",", followers.IDs.Take(100).ToList());
            var users =
                (from user in twitterCtx.User
                 where user.Type == UserType.Lookup &&
                       user.UserID == userIDs
                 select user)
                .ToList();
    

    首先,演示获取用户ID列表 . 它是具有ulong类型的ID集合的用户对象 . 下一个语句创建一个逗号分隔的字符串,其中包含100个这些ID . 最后,查找将逗号分隔的字符串分配给UserID属性 .

    您应该检查list1并验证它是一个格式正确的逗号分隔的用户ID字符串 . 最大尺寸为100 .

相关问题