如何在父列表<>中对List <>的成员的值进行排序

Ash*_*ine 0 c# sorting generics list

我有一个List排序问题.我正在使用c#3.0和这样的通用List结构:

public class myObject
{
    public int ID { get; set; }
    public List<mySetting> setting { get; set; }
}

public class mySetting
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string Value { get; set; }  // sort on this!
}
Run Code Online (Sandbox Code Playgroud)

使用此结构,我使用LINQ查询填充myObject的List.

List<myObject> lmo = new List<myObject>();
lmo.SomeFillOperation():
Run Code Online (Sandbox Code Playgroud)

我现在要做的是对整个List<myObject>单独的<mySetting>[].Value值进行排序.编辑:(所以这将在一个键控索引上排序,例如mySetting [3] .Value).我意识到我可以在我身上做到这一点SomeFillOperation(),但我想在List成立后做到这一点.

是否有推荐或简单的方法来做到这一点?你看到过一个很好的例子吗?提前致谢!

Jon*_*eet 5

好吧,如果你想对它进行排序,你List<T>已经有了一个Sort方法 - 或者你可以使用LINQ的OrderBy方法.OrderBySort以下更容易:

var sorted = lmo.OrderBy(x => x.Value);
Run Code Online (Sandbox Code Playgroud)

但即使Sort不是太糟糕:

lmo.Sort((x, y) => x.Value.CompareTo(y.Value));
Run Code Online (Sandbox Code Playgroud)

编辑:阅读了问题的评论后,我不再理解这个问题!将这个答案留在这里作为一个潜在有用的占位符,同时我吃晚餐......