为何以下C#代码控制台输出System.Int32[]而非数组元素值?
为什么控制台输出
System.Int32[]而不是数组里的值? 这是因为你直接把数组传给Console.WriteLine()时,它调用的是数组默认的ToString()方法——C#里所有数组的这个方法只会返回自身的类型名称,也就是System.Int32[],不会自动遍历并输出数组里的元素。
要看到数组里的实际值,你得先把数组元素转换成可读的字符串形式,比如用string.Join()把元素拼接成一个字符串:
static int[] minMax(int[] lst) { int a = lst.Min(); int b = lst.Max(); return new int[] { a, b }; } // 用逗号分隔数组元素,转成字符串后输出 System.Console.WriteLine(string.Join(", ", minMax(new int[] { 1, 2, 5, -1, 12, 20 })));
运行这段代码,控制台就会输出-1, 20,也就是你想要的数组内容了。
内容的提问来源于stack exchange,提问作者Chereshnja
相关产品推荐
相关产品推荐

