我有以下模型
public class UserViewModel
{
public String CVR_Nummer { get; set; }
public DateTime LastActivityDate { get; set; }
public DateTime CreationDate { get; set; }
public String FirmaNavn { get; set; }
public int ProcentAnswered { get; set; }
}
我创建了一个 List<UserViewModel>
并尝试对其进行排序:
userviewmodel.OrderBy(x => x.ProcentAnswered);
它可以编译,但列表没有排序。怎么来的?
最佳答案
LINQ 在设计上是无副作用的,因此它不会更改输入。它还使用惰性执行,在您尝试访问数据之前它不会做任何事情。将输出重新分配给列表,它应该可以工作。请注意,我在这里使用 ToList() 方法,因为 OrderBy() 返回 IEnumerable<UserViewModel>
在我们尝试将项目放入其中之前,它不会被评估。我们使用 ToList() 方法从此序列创建一个新列表并强制执行查询。
userviewmodel = userviewmodel.OrderBy(x => x.ProcentAnswered).ToList();
关于c# - 使用 OrderBy 对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9160127/