[C#][Tips][LINQ] OrderBy, ThenBy : 並び替え(sort)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
///
/// OrderBy, ThenBy : 並び替え(sort)
///
public static void mSortr_01()
{
    //==========================
    /*  */
    //==========================
    var possrc_0 = new[] { 9, 6, 25, 7 };
    var sorted_0 = possrc_0.OrderBy(elem => elem).ToList();
    sorted_0.ForEach(c => Console.Write(c + ","));
 
    // 6,7,9,25,
    Console.WriteLine("");
 
    //==========================
    /*  */
    //==========================
    var possrc_1 = new[] { 9, 6, 25, 7 };
    var sorted_1 = possrc_1.OrderByDescending(elem => elem);
 
    foreach (var item in sorted_1)
    {
        Console.WriteLine(string.Join(",", item));
    }
    // 25,9,7,6
    Console.WriteLine("");
 
    //==========================
    /*  */
    //==========================
    var possrc = new[]
    {
        new { x = 1, y = 2 },
        new { x = 3, y = 4 },
        new { x = 1, y = 1 }
    };
    var sorted = possrc.OrderBy(elem => elem.x).ThenBy(elem => elem.y);
 
    foreach (var item in sorted)
    {
        Console.WriteLine(string.Join(",", item.x, item.y));
    }
    // {{ x = 1, y = 1 }, { x = 1, y = 2 }, { x = 3, y = 4 }}
    Console.WriteLine("");
 
    //==========================
    /*  */
    //==========================
    var possrc_3 = new[]
    {
        new { x = 1, y = 2 },
        new { x = 3, y = 4 },
        new { x = 1, y = 1 }
    };
    var sorted_3 = possrc_3.OrderByDescending(elem => elem.x).ThenByDescending(elem => elem.y);
 
    foreach (var item in sorted_3)
    {
        Console.WriteLine(string.Join(",", item.x, item.y));
    }
    // {{ x = 3, y = 4 }, { x = 1, y = 2 }, { x = 1, y = 1 }}
 
}