質問編集履歴

5

test

2020/03/24 01:44

投稿

inari_ken
inari_ken

スコア34

test CHANGED
File without changes
test CHANGED
@@ -136,7 +136,7 @@
136
136
 
137
137
  ### 2020/3/23/14:55追記 (廃止) 
138
138
 
139
- 以下誤りです
139
+ 以下誤りです.
140
140
 
141
141
  ~~ご指摘により該当のListを作成するコードを作成しました。~~
142
142
 

4

修正

2020/03/24 01:44

投稿

inari_ken
inari_ken

スコア34

test CHANGED
File without changes
test CHANGED
@@ -52,9 +52,9 @@
52
52
 
53
53
 
54
54
 
55
- ### 2020/3/23/14:55追記
55
+ ### 2020/3/23/16:58追記
56
-
56
+
57
- ご指摘により該当Listを作成するコードを作成しました。
57
+ より本番環境に近い形サンプルコードを作成しました。
58
58
 
59
59
  ```C#
60
60
 
@@ -64,6 +64,92 @@
64
64
 
65
65
 
66
66
 
67
+ List<string[]> data1 = new List<string[]>();
68
+
69
+
70
+
71
+
72
+
73
+ List<dynamic> c = new List<dynamic>();
74
+
75
+
76
+
77
+
78
+
79
+ data1.Add(new string[2] { "1.aaa", "2.aaa" });
80
+
81
+ data1.Add(new string[2] { "3.bbb", "2.bbb" });
82
+
83
+ data1.Add(new string[2] { "2.ccc", "1.ccc" });
84
+
85
+
86
+
87
+
88
+
89
+ int item_count = 0;
90
+
91
+ for (int j = 0; j < 2; j++)
92
+
93
+ {
94
+
95
+
96
+
97
+ c.Add(new
98
+
99
+ {
100
+
101
+ title = j.ToString() + ".test",
102
+
103
+ result = data1.GroupBy(x => x[item_count])
104
+
105
+ .Select(x => new { Choise = x.Key, Count = x.Count() })
106
+
107
+ .ToList()
108
+
109
+ });
110
+
111
+
112
+
113
+ item_count++;
114
+
115
+
116
+
117
+ }
118
+
119
+
120
+
121
+ foreach (var item in c)
122
+
123
+ {
124
+
125
+ List<dynamic> list = item.result;
126
+
127
+ list.Sort((a, b) => string.Compare(a.Choise, b.Choise));
128
+
129
+ }
130
+
131
+ }
132
+
133
+ ```
134
+
135
+
136
+
137
+ ### 2020/3/23/14:55追記 (廃止) 
138
+
139
+ 以下誤りです
140
+
141
+ ~~ご指摘により該当のListを作成するコードを作成しました。~~
142
+
143
+
144
+
145
+ ```C#
146
+
147
+ private void test()
148
+
149
+ {
150
+
151
+
152
+
67
153
  List<dynamic> c = new List<dynamic>() {
68
154
 
69
155
  new {

3

追記

2020/03/23 08:00

投稿

inari_ken
inari_ken

スコア34

test CHANGED
File without changes
test CHANGED
@@ -49,3 +49,71 @@
49
49
  LINQで求めているなら、orderbyをすればよいのでは と思われるかもしれませんが、
50
50
 
51
51
  LINQで求めたのちにListに対してadd処理を行っている為、再度sortしなおす必要があると考えています。
52
+
53
+
54
+
55
+ ### 2020/3/23/14:55追記
56
+
57
+ ご指摘により該当のListを作成するコードを作成しました。
58
+
59
+ ```C#
60
+
61
+ private void test()
62
+
63
+ {
64
+
65
+
66
+
67
+ List<dynamic> c = new List<dynamic>() {
68
+
69
+ new {
70
+
71
+ result = new List<dynamic>()
72
+
73
+ {
74
+
75
+ new { Choise ="01.やまだ", Count = 1},
76
+
77
+ new { Choise ="03.さとう", Count = 3},
78
+
79
+ new { Choise ="02.やまもと", Count = 4}
80
+
81
+ },
82
+
83
+ title = "1.test"
84
+
85
+
86
+
87
+ },
88
+
89
+ new {
90
+
91
+ result = new List<dynamic>()
92
+
93
+ {
94
+
95
+ new { Choise ="01.aaa", Count = 1},
96
+
97
+ new { Choise ="03.bbb", Count = 3},
98
+
99
+ new { Choise ="02.ccc", Count = 4}
100
+
101
+ },
102
+
103
+ title = "2.test"
104
+
105
+ }
106
+
107
+ };
108
+
109
+
110
+
111
+ // c.ForEach(x => x.result.Sort((a, b) => string.Compare(a.Choise, b.Choise)));
112
+
113
+
114
+
115
+
116
+
117
+ }
118
+
119
+ ```

2

補足の追加

2020/03/23 05:56

投稿

inari_ken
inari_ken

スコア34

test CHANGED
File without changes
test CHANGED
@@ -41,3 +41,11 @@
41
41
  ※(a,b) => string.Compare(a.Choise,b.Choise) 部分に波線
42
42
 
43
43
  ```
44
+
45
+
46
+
47
+ ### 補足
48
+
49
+ LINQで求めているなら、orderbyをすればよいのでは と思われるかもしれませんが、
50
+
51
+ LINQで求めたのちにListに対してadd処理を行っている為、再度sortしなおす必要があると考えています。

1

タイトルの修正

2020/03/23 05:18

投稿

inari_ken
inari_ken

スコア34

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