teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

test

2020/03/24 01:44

投稿

inari_ken
inari_ken

スコア34

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

修正

2020/03/24 01:44

投稿

inari_ken
inari_ken

スコア34

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/1455追記
28
+ ### 2020/3/23/1658追記
29
- ご指摘により該当Listを作成するコードを作成しました。
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

追記

2020/03/23 08:00

投稿

inari_ken
inari_ken

スコア34

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

補足の追加

2020/03/23 05:56

投稿

inari_ken
inari_ken

スコア34

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

タイトルの修正

2020/03/23 05:18

投稿

inari_ken
inari_ken

スコア34

title CHANGED
@@ -1,1 +1,1 @@
1
- 動的List(dynamic)内でsortを実行したい
1
+ 【C#】動的List(dynamic)内でsortを実行したい
body CHANGED
File without changes