【问题标题】:How to Sort Typed List Collection如何对类型列表集合进行排序
【发布时间】:2011-02-10 22:34:58
【问题描述】:

我有类似的课程

public class ProgressBars
{
    public ProgressBars()
    { }
    private Int32 _ID;
    private string _Name;
    public virtual Int32 ID {get { return _ID; } set { _ID = value; } }
    public virtual string Name { get { return _Name; } set { _Name = value; }}
}

这里是列表集合

List<ProgressBars> progress;
progress.Sort //I need to get sort here by Name

如何按名称对该集合进行排序?

谢谢

【问题讨论】:

    标签: c# asp.net list


    【解决方案1】:

    前提是你可以使用LINQ

    progress = progress.OrderBy(b => b.Name).ToList();
    

    【讨论】:

    • 我没有使用 linq 而不是类型集合。我没有得到progress.orderby。这没有帮助。
    • 问题不在于您是否使用 LINQ,而在于您是否可以使用 LINQ,即您是否在 .NET 3.5 上运行。如果是这种情况,您可能只是缺少命名空间 System.Linq ;)
    • b 这里是传递给 lambda 函数的参数
    【解决方案2】:

    【讨论】:

    【解决方案3】:

    实现 Icomparable 接口并完成

    公共类 ProgressBars : IComparable

    {

        public ProgressBars()
        { }
        private Int32 _ID;
        private string _Name;
        public virtual Int32 ID { get { return _ID; } set { _ID = value; } }
        public virtual string Name { get { return _Name; } set { _Name = value; } }
    
        public int CompareTo(ProgressBars obj)
        {
            return _Name.CompareTo(obj.Name);
        }        
    } 
    

    【讨论】:

    • 是的,这也是一种方法,但那是旧的,现在 Linq 提供了非常酷的功能,我们不需要这个。我赞成这个 1,因为你是对的,这是一种方式。
    猜你喜欢
    • 2017-08-14
    • 2020-02-23
    • 2010-12-30
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 2011-04-21
    • 2011-04-04
    相关资源
    最近更新 更多