回答編集履歴
5
修正
answer
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
}
|
16
16
|
```
|
17
17
|
|
18
|
-
上記の時、sampleData[i] は sampleData の i 番目の要素のコピーを返します。コピーのメンバを変更してもオリジナルには影響しません。そのため、コピーのフィールドを変更しただけでこの値を使用しなかった場合、紛らわしいのでこれをエラーにします。
|
18
|
+
上記の時、sampleData[i] は sampleData の i + 1 番目の要素のコピーを返します。コピーのメンバを変更してもオリジナルには影響しません。そのため、コピーのフィールドを変更しただけでこの値を使用しなかった場合、紛らわしいのでこれをエラーにします。
|
19
19
|
エラーにならなかった場合、一見正しいように見えるので非常に見つけにくいバグになりかねません。
|
20
20
|
|
21
21
|
次のようにして確かめてみてください。sampleData[i].Status は false で初期化されます。したがって、最初の Debug.WriteLine は false を出力します。しかし、次の Debug.WriteLine は true を出力します。
|
@@ -32,4 +32,4 @@
|
|
32
32
|
}
|
33
33
|
```
|
34
34
|
|
35
|
-
つまり、`sampleData[i].Status = true;` とした時、sampleData から i 番目の要素のコピーが取り出され、その Status フィールドが true に変更されますが、取り出されたコピーはどこからも参照されることなく消えていくという意味のないコードになります。これをエラーとしてユーザーに明示的に注意喚起しているのです。
|
35
|
+
つまり、`sampleData[i].Status = true;` とした時、sampleData から i + 1 番目の要素のコピーが取り出され、その Status フィールドが true に変更されますが、取り出されたコピーはどこからも参照されることなく消えていくという意味のないコードになります。これをエラーとしてユーザーに明示的に注意喚起しているのです。
|
4
修正
answer
CHANGED
@@ -30,4 +30,6 @@
|
|
30
30
|
Debug.WriteLine(sampleData[i].Status);
|
31
31
|
Debug.WriteLine(datum.Status);
|
32
32
|
}
|
33
|
-
```
|
33
|
+
```
|
34
|
+
|
35
|
+
つまり、`sampleData[i].Status = true;` とした時、sampleData から i 番目の要素のコピーが取り出され、その Status フィールドが true に変更されますが、取り出されたコピーはどこからも参照されることなく消えていくという意味のないコードになります。これをエラーとしてユーザーに明示的に注意喚起しているのです。
|
3
修正
answer
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
```
|
17
17
|
|
18
18
|
上記の時、sampleData[i] は sampleData の i 番目の要素のコピーを返します。コピーのメンバを変更してもオリジナルには影響しません。そのため、コピーのフィールドを変更しただけでこの値を使用しなかった場合、紛らわしいのでこれをエラーにします。
|
19
|
-
エラーにならなかった場合、一見正しいように見えるので非常に
|
19
|
+
エラーにならなかった場合、一見正しいように見えるので非常に見つけにくいバグになりかねません。
|
20
20
|
|
21
21
|
次のようにして確かめてみてください。sampleData[i].Status は false で初期化されます。したがって、最初の Debug.WriteLine は false を出力します。しかし、次の Debug.WriteLine は true を出力します。
|
22
22
|
|
2
修正
answer
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
}
|
16
16
|
```
|
17
17
|
|
18
|
-
上記の時、sampleData[i] は sampleData
|
18
|
+
上記の時、sampleData[i] は sampleData の i 番目の要素のコピーを返します。コピーのメンバを変更してもオリジナルには影響しません。そのため、コピーのフィールドを変更しただけでこの値を使用しなかった場合、紛らわしいのでこれをエラーにします。
|
19
19
|
エラーにならなかった場合、一見正しいように見えるので非常にデバッグしにくいエラーになりかねません。
|
20
20
|
|
21
21
|
次のようにして確かめてみてください。sampleData[i].Status は false で初期化されます。したがって、最初の Debug.WriteLine は false を出力します。しかし、次の Debug.WriteLine は true を出力します。
|
1
修正
answer
CHANGED
@@ -15,7 +15,8 @@
|
|
15
15
|
}
|
16
16
|
```
|
17
17
|
|
18
|
-
上記の時、sampleData[i] は sampleData[i] のコピーを返します。コピーのメンバを変更してもオリジナルには影響しません。そのため、コピーを使用しなかった場合、エラーに
|
18
|
+
上記の時、sampleData[i] は sampleData[i] のコピーを返します。コピーのメンバを変更してもオリジナルには影響しません。そのため、コピーを使用しなかった場合、紛らわしいのでこれをエラーにします。
|
19
|
+
エラーにならなかった場合、一見正しいように見えるので非常にデバッグしにくいエラーになりかねません。
|
19
20
|
|
20
21
|
次のようにして確かめてみてください。sampleData[i].Status は false で初期化されます。したがって、最初の Debug.WriteLine は false を出力します。しかし、次の Debug.WriteLine は true を出力します。
|
21
22
|
|