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. 我在这里想念什么?

提前致谢!

4

2 回答 2

0

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

于 2014-02-26T21:40:53.030 回答
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。

于 2014-02-27T16:09:18.563 回答