相关疑难解决方法(0)

使用数组作为string.Format()的参数

当尝试使用数组作为string.Format()方法的参数时,我收到以下错误:

FormatException:Index(从零开始)必须大于或等于零且小于参数列表的大小.

代码如下:

place = new int[] { 1, 2, 3, 4};
infoText.text = string.Format("Player1: {0} \n Player2: {1} \n Player3: {2} \n Player4: {3}", place);
Run Code Online (Sandbox Code Playgroud)

Array包含四个值,其中的参数String.Format()也相同.

是什么导致这个错误?

(这infoText.text只是一个常规的String对象)

.net c# arrays string string-formatting

15
推荐指数
3
解决办法
2万
查看次数

打印出MAC地址

只是尝试使用string.Format()将系统MAC地址转换为文本格式.但它不起作用:

byte[] MacAddr = new byte[6];

// this works, but rather clumzy
mac = string.Format("{0:X2}-{1:X2}-{2:X2}-{3:X2}-{4:X2}-{5:X2}",            
          MacAddr[0], MacAddr[1], MacAddr[2], MacAddr[3], MacAddr[4], MacAddr[5]);

// give me index error
mac = string.Format("{0:X2}-{1:X2}-{2:X2}-{3:X2}-{4:X2}-{5:X2}", MacAddr);
Run Code Online (Sandbox Code Playgroud)

EDIT1:OK,我错了,但似乎string.format对于工作这家伙的情况下string[].

我可以看到有一种重载方法string.format: Format(String, array<Object>[]()[]).是否有可能创建某种形式的byte [],可以这样做array<Object>[]()[]

c# string-formatting

3
推荐指数
1
解决办法
78
查看次数

标签 统计

c# ×2

string-formatting ×2

.net ×1

arrays ×1

string ×1