zpw0001 2022-09-28 10:46 采纳率: 0%
浏览 32

c# 传入整型数组为什么不能正常打印到屏幕

请教一下,为什么不能正常打印int[] iNums = { 8, 6, 4, 2, 1, 5 };里的内容?谢谢!!

using System;

namespace PrintToScreen
{
class Program
{
static void Main(string[] args)
{
string[] strNums = { "ff", "cc", "bb", "aa", "ee" };
PintToScreen(strNums);//可以正常打印

        PintToScreen(6, 4, 2, 8, 3);//可以正常打印
        int[] iNums = { 8, 6, 4, 2, 1, 5 };
        PintToScreen(iNums);//打印異常System.Int32[],?????????
    }
    public static void PintToScreen(params object[] obj)
    {
        Array.Sort(obj);
        for(int i =0;i<obj.Length;i++)
            Console.WriteLine(obj[i]);
    }
}

}

运行结果及报错内容

aa
bb
cc
ee
ff
2
3
4
6
8
System.Int32[]

  • 写回答

2条回答 默认 最新

  • 於黾 2022-09-28 10:51
    关注

    因为你的形参是params ,所以当你传入一个数组时,不会用实参直接替换掉形参,而是将iNums作为数组的一项传入的,obj是个二维数组

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 9月28日