teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

文章の修正

2019/09/11 08:51

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  `UserNames = new string[10];`の場合、添え字でアクセスできる範囲は0から9までです。
2
- `PhotonNetwork.playerList`の個数が11以上になる場合、UserNames[10]という存在しない要素にアクセスすることになるのでエラーになります。
2
+ `PhotonNetwork.playerList`の個数が11以上になる場合、11回目のループで`UserNames[10]`という存在しない要素にアクセスすることになるため`IndexOutOfRangeException`例外が発生します。
3
3
 
4
4
  解決策
5
5
  - `Count`が`UserNames.Length`以上のときは`UserNames[Count]`にアクセスしないよう修正する

1

書式の修正

2019/09/11 08:50

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -2,6 +2,6 @@
2
2
  `PhotonNetwork.playerList`の個数が11以上になる場合、UserNames[10]という存在しない要素にアクセスすることになるのでエラーになります。
3
3
 
4
4
  解決策
5
- - `Count`が`UserNames.Length`以上のときは`UserNames[Count]にアクセスしないよう修正する
5
+ - `Count`が`UserNames.Length`以上のときは`UserNames[Count]`にアクセスしないよう修正する
6
6
  - `UserNames`を配列ではなくリストで管理し、`UserNames.Add(p.NickName ?? "UserName");`という形で要素を追加する
7
7
  - `UserNames`を配列ではなくリストで管理し、LINQを使って`UserNames`を更新する(`UserNames = PhotonNetwork.playerList.Select(x => x.NickName ?? "UserName");`)