質問編集履歴
5
test
title
CHANGED
File without changes
|
body
CHANGED
@@ -67,7 +67,7 @@
|
|
67
67
|
```
|
68
68
|
|
69
69
|
### 2020/3/23/14:55追記 (廃止)
|
70
|
-
以下誤りです
|
70
|
+
以下誤りです.
|
71
71
|
~~ご指摘により該当のListを作成するコードを作成しました。~~
|
72
72
|
|
73
73
|
```C#
|
4
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -25,12 +25,55 @@
|
|
25
25
|
LINQで求めているなら、orderbyをすればよいのでは と思われるかもしれませんが、
|
26
26
|
LINQで求めたのちにListに対してadd処理を行っている為、再度sortしなおす必要があると考えています。
|
27
27
|
|
28
|
-
### 2020/3/23/
|
28
|
+
### 2020/3/23/16:58追記
|
29
|
-
|
29
|
+
より本番環境に近い形のサンプルコードを作成しました。
|
30
30
|
```C#
|
31
31
|
private void test()
|
32
32
|
{
|
33
33
|
|
34
|
+
List<string[]> data1 = new List<string[]>();
|
35
|
+
|
36
|
+
|
37
|
+
List<dynamic> c = new List<dynamic>();
|
38
|
+
|
39
|
+
|
40
|
+
data1.Add(new string[2] { "1.aaa", "2.aaa" });
|
41
|
+
data1.Add(new string[2] { "3.bbb", "2.bbb" });
|
42
|
+
data1.Add(new string[2] { "2.ccc", "1.ccc" });
|
43
|
+
|
44
|
+
|
45
|
+
int item_count = 0;
|
46
|
+
for (int j = 0; j < 2; j++)
|
47
|
+
{
|
48
|
+
|
49
|
+
c.Add(new
|
50
|
+
{
|
51
|
+
title = j.ToString() + ".test",
|
52
|
+
result = data1.GroupBy(x => x[item_count])
|
53
|
+
.Select(x => new { Choise = x.Key, Count = x.Count() })
|
54
|
+
.ToList()
|
55
|
+
});
|
56
|
+
|
57
|
+
item_count++;
|
58
|
+
|
59
|
+
}
|
60
|
+
|
61
|
+
foreach (var item in c)
|
62
|
+
{
|
63
|
+
List<dynamic> list = item.result;
|
64
|
+
list.Sort((a, b) => string.Compare(a.Choise, b.Choise));
|
65
|
+
}
|
66
|
+
}
|
67
|
+
```
|
68
|
+
|
69
|
+
### 2020/3/23/14:55追記 (廃止)
|
70
|
+
以下誤りです
|
71
|
+
~~ご指摘により該当のListを作成するコードを作成しました。~~
|
72
|
+
|
73
|
+
```C#
|
74
|
+
private void test()
|
75
|
+
{
|
76
|
+
|
34
77
|
List<dynamic> c = new List<dynamic>() {
|
35
78
|
new {
|
36
79
|
result = new List<dynamic>()
|
3
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -23,4 +23,38 @@
|
|
23
23
|
|
24
24
|
### 補足
|
25
25
|
LINQで求めているなら、orderbyをすればよいのでは と思われるかもしれませんが、
|
26
|
-
LINQで求めたのちにListに対してadd処理を行っている為、再度sortしなおす必要があると考えています。
|
26
|
+
LINQで求めたのちにListに対してadd処理を行っている為、再度sortしなおす必要があると考えています。
|
27
|
+
|
28
|
+
### 2020/3/23/14:55追記
|
29
|
+
ご指摘により該当のListを作成するコードを作成しました。
|
30
|
+
```C#
|
31
|
+
private void test()
|
32
|
+
{
|
33
|
+
|
34
|
+
List<dynamic> c = new List<dynamic>() {
|
35
|
+
new {
|
36
|
+
result = new List<dynamic>()
|
37
|
+
{
|
38
|
+
new { Choise ="01.やまだ", Count = 1},
|
39
|
+
new { Choise ="03.さとう", Count = 3},
|
40
|
+
new { Choise ="02.やまもと", Count = 4}
|
41
|
+
},
|
42
|
+
title = "1.test"
|
43
|
+
|
44
|
+
},
|
45
|
+
new {
|
46
|
+
result = new List<dynamic>()
|
47
|
+
{
|
48
|
+
new { Choise ="01.aaa", Count = 1},
|
49
|
+
new { Choise ="03.bbb", Count = 3},
|
50
|
+
new { Choise ="02.ccc", Count = 4}
|
51
|
+
},
|
52
|
+
title = "2.test"
|
53
|
+
}
|
54
|
+
};
|
55
|
+
|
56
|
+
// c.ForEach(x => x.result.Sort((a, b) => string.Compare(a.Choise, b.Choise)));
|
57
|
+
|
58
|
+
|
59
|
+
}
|
60
|
+
```
|
2
補足の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -19,4 +19,8 @@
|
|
19
19
|
ラムダ式を最初にデリゲート型または式ツリー型にキャストせずに、動的にディスパッチされる操作の引数として使用することはできません
|
20
20
|
|
21
21
|
※(a,b) => string.Compare(a.Choise,b.Choise) 部分に波線
|
22
|
-
```
|
22
|
+
```
|
23
|
+
|
24
|
+
### 補足
|
25
|
+
LINQで求めているなら、orderbyをすればよいのでは と思われるかもしれませんが、
|
26
|
+
LINQで求めたのちにListに対してadd処理を行っている為、再度sortしなおす必要があると考えています。
|
1
タイトルの修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
動的List(dynamic)内でsortを実行したい
|
1
|
+
【C#】動的List(dynamic)内でsortを実行したい
|
body
CHANGED
File without changes
|