質問編集履歴

1

結果報告

2019/02/04 07:01

投稿

ElecDove
ElecDove

スコア254

test CHANGED
File without changes
test CHANGED
@@ -83,3 +83,105 @@
83
83
  2End
84
84
 
85
85
  ````
86
+
87
+
88
+
89
+
90
+
91
+ ---
92
+
93
+ とりあえずこれで戻り値を拾えましたが会っているのでしょうか…
94
+
95
+ ```C#
96
+
97
+ static void Main() {
98
+
99
+
100
+
101
+ fuga2();
102
+
103
+
104
+
105
+ Console.ReadLine();
106
+
107
+ }
108
+
109
+
110
+
111
+
112
+
113
+ static async void fuga2() {
114
+
115
+ Console.WriteLine("fuga start");
116
+
117
+ var res = new int[2];
118
+
119
+
120
+
121
+
122
+
123
+ var tasks = new List<Task<int>>();
124
+
125
+ tasks.Add(Task.Run(() => Heavy("1")));
126
+
127
+ tasks.Add(Task.Run(() => Heavy("2")));
128
+
129
+ await Task.WhenAll(tasks.ToArray());
130
+
131
+
132
+
133
+ tasks.ForEach(t => Console.WriteLine(t.Result));
134
+
135
+
136
+
137
+ Console.WriteLine("fuga end");
138
+
139
+ }
140
+
141
+
142
+
143
+
144
+
145
+ static async Task<int> Heavy(string str) {
146
+
147
+ Console.WriteLine(str + "Start");
148
+
149
+ for (int i = 0; i < 1000000000; i++) ;//重たい処理
150
+
151
+ Console.WriteLine(str + "End");
152
+
153
+
154
+
155
+ return 5; //ダミーデータ
156
+
157
+ }
158
+
159
+
160
+
161
+ ```
162
+
163
+
164
+
165
+ ```
166
+
167
+ fuga start
168
+
169
+ 1Start
170
+
171
+ 2Start
172
+
173
+ //数秒待機
174
+
175
+ 2End
176
+
177
+ 1End
178
+
179
+ 5
180
+
181
+ 5
182
+
183
+ fuga end
184
+
185
+
186
+
187
+ ```