我在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
的原因。我在这里缺少什么?
提前致谢!
答案 0 :(得分:0)
您将user.UserID
与整个list1
对象进行比较。你的意思是写list1.Contains(user.userID)
吗?
答案 1 :(得分: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。