回答編集履歴

1

文章の修正

2019/10/23 04:55

投稿

BluOxy
BluOxy

スコア2663

test CHANGED
@@ -1,12 +1,8 @@
1
1
  C#の配列は最初の要素は1ではなく0です。
2
-
3
- また、`IndexOutOfRangeException`は存在しない配列の要素へアクセスしたときに投げられる例外です。
4
2
 
5
3
 
6
4
 
7
- そして、[Random.Range](https://docs.unity3d.com/ja/2018.2/ScriptReference/Random.Range.html)
5
+ また、[Random.Range](https://docs.unity3d.com/ja/2018.2/ScriptReference/Random.Range.html)には
8
-
9
-
10
6
 
11
7
  > max と min が等しければ、min が返されます。
12
8
 
@@ -14,13 +10,15 @@
14
10
 
15
11
  と書かれています。
16
12
 
13
+
14
+
17
- つまり、`TargetObject.Length`が1のとき、`number`には1が保持されるということです。
15
+ つまり、`TargetObject.Length`が1のとき、`number`には1が保持されす。
16
+
17
+ このとき、`TargetObject[0]`にはアクセスできますが、`TargetObject[1]`にはアクセスできません。
18
18
 
19
19
 
20
20
 
21
- そのとき、`TargetObject[number].transform.position`へアクセスする際に`TargetObject[0]`ではなく、`TargetObject[1]`を参照しているため、`IndexOutOfRangeException`の例外が発生しています。
21
+ 掲示されたコードは`TargetObject[1]`にアクセスしているため[IndexOutOfRangeException](https://docs.microsoft.com/ja-jp/dotnet/api/system.indexoutofrangeexception?view=netframework-4.8)の例外が発生しています。
22
-
23
-
24
22
 
25
23
  乱数の最小値を1ではなく0を返すように修正してください。
26
24