相关疑难解决方法(0)

string.Format在运行时因整数数组而失败

考虑string.Format()哪些参数是字符串,以及在重载列表中的一个object[]或多个对象.

该声明成功:

string foo = string.Format("{0} {1}", 5, 6);
Run Code Online (Sandbox Code Playgroud)

就像这样:

object[] myObjs = new object[] {8,9};
string baz = string.Format("{0} and {1}", myObjs;
Run Code Online (Sandbox Code Playgroud)

和一串字符串一样:

string[] myStrings = new string[] {"abc", "xyz"};
string baz = string.Format("{0} {1}", myStrings);
Run Code Online (Sandbox Code Playgroud)

似乎整数,当单独指定时,可以加框或强制键入object,而后者又被强制为字符串.

此语句在运行时失败.

int[] myInts = new int[] {8,9};
string bar = string.Format("{0} and {1}", myInts);
Run Code Online (Sandbox Code Playgroud)

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

  • 为什么不强制或不能将int数组强制或加入一个object[]或string[]?
  • 出于一点点好奇心,为什么编译器没有抓住这个?

c# arrays string-formatting

22
推荐指数
1
解决办法
5618
查看次数

标签 统计

arrays ×1

c# ×1

string-formatting ×1