如何按字符串长度排序模型列表 属性

How to order the list of model by string length property

我有 class 个用户:

class User
{
    public string Name { get; set; }
    public Address Address { get; set; }
    public DateTime Birthday { get; set; }
}

然后我有一个像 List<User> users 这样的用户列表。 我遇到了听起来“如何按名称长度字符串 属性?

排序列表的问题

我试过这样的事情:

users.OrderBy(user=>user.Name.Length);

不幸的是它没有用。

感谢您的回复和最诚挚的问候。

假定列表没有 null 用户和null 姓名:

users.Sort((Comparison<User>) ((left, right) => 
  return left.Name.Length - right.Name.Length;
));

请注意,代码对 现有 列表 users 进行排序,而 OrderBy 创建 新集合 :

users = users
  .OrderBy(user => user.Name.Length)
  .ToList();