黑马程序员技术交流社区
标题:
为什么string类型的可以直接用数组名进行占位符的替换,...
[打印本页]
作者:
周培
时间:
2013-8-20 13:02
标题:
为什么string类型的可以直接用数组名进行占位符的替换,...
int[] nums = { 1, 2, 3 };
string[] strs = { "aa", "bb", "cc" };
Console.WriteLine("{0},{1},{2}", nums[0], nums[1], nums[2]);
Console.WriteLine("{0},{1},{2}", nums);//出现异常
Console.WriteLine("{0},{1},{2}", strs[0], strs[1], strs[2]);
Console.WriteLine("{0},{1},{2}", strs);
复制代码
作者:
胡盼盼
时间:
2013-8-20 13:54
使用占位符不容易出错,占位符是从0开始的,之所以可以用数组名代替,是因为数组的下标是与数组的值是对应的。对与数组来说,若只写数组名,它会默认把整个数组里面的元素都输出来。如下图
QQ图片20130820135032.jpg
(8.71 KB, 下载次数: 65)
下载附件
2013-8-20 13:53 上传
作者:
瞎猫馒头米田共
时间:
2013-8-20 15:26
因为无法将int[]类型转换为object[]类型。
作者:
瞎猫馒头米田共
时间:
2013-8-20 15:28
就是说方法要一个object[]参数,你是无法给他传入int[]参数的
作者:
瞎猫馒头米田共
时间:
2013-8-20 15:41
你可以反编译看看是不是数组里头是不是有一个implicit operator 的隐式类型转换把 string[]l里头遍历的每个元素都转为obect然后在 return 一个object[];而没有对int[]的隐式类型转换
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2