回答編集履歴

2

追記2

2022/05/15 00:58

投稿

fiveHundred
fiveHundred

スコア9827

test CHANGED
@@ -45,3 +45,23 @@
45
45
  配列でやる場合には、for文でループさせ、``scores[~]``に(各要素ごとに)Scoresを代入させます。
46
46
  リストであれば、``~.Add(~);``でリストに追加させます。
47
47
 
48
+ ---
49
+
50
+ 追記2:
51
+
52
+ まだ出来ていません。
53
+ ``new Scores()``自体がどこにも代入されていないです。
54
+
55
+ 以下のようにする必要があります。
56
+
57
+ ```C#
58
+ var scores = new Scores[namesList.Count];
59
+ for (int i = 0; i < namesList.Count; i++){
60
+ scores[i] = new Scores(){ // ←scoresに代入
61
+ Name = namesList[i],
62
+ Kill = 0,
63
+ };
64
+ };
65
+ ```
66
+
67
+

1

追記

2022/05/14 10:26

投稿

fiveHundred
fiveHundred

スコア9827

test CHANGED
@@ -17,3 +17,31 @@
17
17
  配列は長さを途中で変更することはできません。
18
18
  初期化時に長さを指定するか、Listを使ってください。
19
19
 
20
+ ---
21
+
22
+ 追記:
23
+
24
+ ```C#
25
+ scores = namesList.ToArray(); //リストから配列に代入
26
+ ```
27
+
28
+ 上記ではscoresはScoresの配列なのに対し、namesList.ToArray()はstringの配列です。
29
+ したがって、scoresに代入できないのは当然です。
30
+
31
+ そして、
32
+
33
+ ```C#
34
+ foreach(var name in namesList){
35
+ new Scores()
36
+ {
37
+ Name = name,
38
+ Kill = 0,
39
+ };
40
+ }
41
+ ```
42
+
43
+ 上記、「どこにも代入されていません」って言っているのに全く改善されていません。
44
+
45
+ 配列でやる場合には、for文でループさせ、``scores[~]``に(各要素ごとに)Scoresを代入させます。
46
+ リストであれば、``~.Add(~);``でリストに追加させます。
47
+