尝试将数组用作
string.Format()
方法的参数时,会遇到以下错误:FormatException: 索引(从零开始)必须大于或等于零,并且小于参数列表的大小。
代码如下:
place = new int[] { 1, 2, 3, 4};
infoText.text = string.Format("Player1: {0} \n Player2: {1} \n Player3: {2} \n Player4: {3}", place);
数组包含四个值,而String.Format()
中的参数也是相同的。
导致这个错误的原因是什么?
(infoText.text
只是一个普通的字符串对象)
int[]
而不是一个string[]
。 - Alfie Goodacrestring.Format("玩家1: {0} \n 玩家2: {1} \n 玩家3: {2} \n 玩家4: {3}", place[0], place[1], place[2], place[3]);
。它的工作原理是将一个对象传递给字符串中的每个 {}。 - AwaisinfoText.text = string.Join("\n", place.Select((p,i) => $"Player{i+1}: {p}"));
- Me.Name