0

List<ABC>これをc1要素ごとに昇順で並べ替える方法は?どうもありがとうございます!

public class ABC
{
    public string c0 { get; set; }
    public string c1 { get; set; }
    public string c2 { get; set; }
}
public partial class MainWindow : Window
{
    public List<ABC> items = new List<ABC>();
    public MainWindow()
    {
        InitializeComponent();
        items.Add(new ABC
        {
            c0 = "1",
            c1 = "DGH",
            c2 = "yes"
        });
        items.Add(new ABC
        {
            c0 = "2",
            c1 = "ABC",
            c2 = "no"
        });
        items.Add(new ABC
        {
            c0 = "3",
            c1 = "XYZ",
            c2 = "yes"
        });
    }
}
4

4 に答える 4

5

これはどう:

var sortedItems = items.OrderBy(i => i.c1);

これはを返しますIEnumerable<ABC>。リストが必要な場合は、:を追加しToListます。

List<ABC> sortedItems = items.OrderBy(i => i.c1).ToList();
于 2013-03-17T07:16:03.947 に答える
2
List<ABC> _sort = (from a in items orderby a.c1 select a).ToList<ABC>();
于 2013-03-17T07:16:16.003 に答える
2

次のようなものを試してください:

var sortedItems = items.OrderBy(itm => itm.c0).ToList();  // sorted on basis of c0 property
var sortedItems = items.OrderBy(itm => itm.c1).ToList();  // sorted on basis of c1 property
var sortedItems = items.OrderBy(itm => itm.c2).ToList();  // sorted on basis of c2 property
于 2013-03-17T07:19:55.347 に答える
1
.OrderBy(x => x.c1);

(または.OrderByDescending

ええ、LINQはそれをとても簡単にします。

于 2013-03-17T07:16:26.793 に答える