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日

悬赏问题

  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊
  • ¥15 求多普勒频移瞬时表达式
  • ¥15 如果要做一个老年人平板有哪些需求