我正在尝试过滤所有姓氏“Peter”
但它不过滤而是列出没有过滤器的所有行
我做错了什么?
if (pagedCollection != null)
{
do
{
List<IUser> usersList = pagedCollection.CurrentPage.ToList();
usersList.Where(x => !string.IsNullOrEmpty(x.Surname) && x.Surname.Contains("Peter")).FirstOrDefault();
foreach (IUser user in usersList)
{
userList.Add((User) user);
}
pagedCollection = await pagedCollection.GetNextPageAsync();
}
while (pagedCollection != null);
}
Run Code Online (Sandbox Code Playgroud)
此行返回包含 的单个用户,因为:SurName"Peter"FirstOrDefault
usersList.Where(x => !string.IsNullOrEmpty(x.Surname) && x.Surname.Contains("Peter")).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
但您不会将结果存储在任何地方。它不会“过滤”原始列表,如下所示:
usersList = usersList
.Where(x => !string.IsNullOrEmpty(x.Surname) && x.Surname.Contains("Peter"))
.ToList();
Run Code Online (Sandbox Code Playgroud)
实际上这个查询也不会过滤原始列表,而是创建一个新列表,最后将这个新列表重新分配给旧变量。所以效果和过滤类似。
| 归档时间: |
|
| 查看次数: |
2468 次 |
| 最近记录: |