static void Main(string[] args)
    {        int i;
        if (args.Length > 0)
        {
            for (i = args[0].Length - 1; i >= 0; i--)
            {
                Console.Write(args[0][i]);
            }            Console.ReadKey();
        }
        else
        { Console.WriteLine("请输入要进行反向输出的字符串作为参数!"); }
        Console.ReadLine();
    }
}
1.貌似static void Main(string[] args)如果不传递参数好像看起来时1维数组?然后这里Console.Write(args[0][i]);看起来又好像是交错数组?args[i][j]含义是i个参数的第j个字符??2.如果不传递任何参数,我直接输出args[]结果是system.string[],可加了args[0]结果就错误了?
网上解释Main函数的参数,是执行时传过来的,如果执行的时候没传任何参数,那么args.Length就应该等于0,访问args[0]会出异常的:
System.IndexOutOfRangeException: 索引超出了数组界限。按F5运行的时候,一般情况下是不会传参数过来的。也就是说,args 是一个长度为0的字符串数组,访问args[0]是会出错的。长度为0的字符串数组不是输出null或者空格?到底什么时候数组输出null?什么时候数组输出空格

解决方案 »

  1.   

    求解答,msdn查了好像没说什么
      

  2.   

    一维字符串数组。
    对于一个字符串也可以当字符数组来访问
    string strTest = "test";
    for(int i = 0; i < strTest.Length; i++)
    {
      Console.Writeln(strTest[i]);
    }
      

  3.   

    可以在命令行中在可执行程序后面跟上参数来给args 赋值!
      

  4.   

    显然是一维数组。至于为什么 args[1][1] 也可以输出,是因为 string 支持 indexer(索引器,建议找语法书看下),可以返回字符串里面指定位置的单个元素。比如:
    string s = "12345";
    Console.WriteLine(s[2]);
      

  5.   

    直接输出的是一个数组对象,他不会判断里面是否为空。args[0]是会检测数组长度以及下标是否越界。。
      

  6.   

    原来对于包含任何传入的命令行参数的字符串数组参数,其工作方式与在 Java 中的工作方式相同。因此,args[0] 指定第一个命令行参数,args[1] 表示第二个参数,依此类推。与 C++ 不同,args 数组不包含 EXE 文件名称。
      

  7.   

    如果不传递任何参数,我直接输出args结果是system.string[],但是我在main函数里如下面所述输出的却是空白?为何没有参数,输出args结果不是空白 
    string[] x=null; Console.WriteLine("Main函数参数args的长度:" +x );
      

  8.   

    args 是一个长度为0的字符串数组不等于 string[]  args=null;????
      

  9.   

    C是
    main(int argc, char** args)
      

  10.   

      string[] args = new string[0];这样就是0长度的数组。
    如果是null,根本就无法读取长度属性的
      

  11.   

    string[] args = null;
     Console.Write(args.Length);未将对象引用设置到对象的实例。
    长度为0
    string[] args = new string[0];
      

  12.   

    lz,再给你多介绍点,因为我喜欢你:)string str1 = "hello";
    str1[2] = 'w';这个代码结果是什么?结论是回报错,这说明[]在这里只是一个索引器,而且是只读的索引器。对比:
    int[] i = new int[]{ 1, 2, 3, 4 }
    i[3] = 5;这个代码就没问题。