1.书上没错 在这里,测字符串长度应为 args[0].Length 表示第一个参数的长度
2.这个问题 之所以你会不理解,我觉得和第一个问题有关系
  args[0][0]表示第一个参数(字符串)的第一个字符
3.这里可以不用两层括号
 只是书写上的习惯问题

解决方案 »

  1.   

    给你一个程序
    和这个例程很类似using System;class IfApp
    {
        public static int Main(string[] args)
        {
            //如果命令行参数小于一个,则显示程序正确用法,退出程序
            if(args.Length < 1)
            {
                Console.WriteLine("Usage: ifApp char");
                return 1;
            }        //获得第一个命令行参数第一个字母
            //把该字母赋给变量chLetter
            char chLetter = args[0][0];
            
            //如果字母大于等于字符'A'
            if(chLetter >= 'A')
            {
                //同时,字母小于字符'Z'
                //则该字母为大写字母
                if(chLetter <= 'Z')
                {
                    Console.WriteLine("{0} 是个大写字母", chLetter);
                    return 0;
                }
            }        //如果字母界与字符'a'和'z'之间
            //则该字母为小写字母
            if(chLetter >= 'a' && chLetter <= 'z')
            {
                Console.WriteLine("{0} 是个小写字母", chLetter);
                return 0;
            }        //如果字母为数字
            if(Char.IsDigit(chLetter))
            {
                Console.WriteLine("{0} 是个数字", chLetter);
                return 0;
            }        //缺省地(以上条件都不符合),则该字母为特殊字符
            Console.WriteLine("{0} 是个特殊字符", chLetter);
            return 1;
        }
    }
      

  2.   

    1——
    args是一个字符串数组,其中记录了命令行运行时的参数携带情况(已经被系统分解,通常用空格间隔),如果其长度为0,说明不携带参数(这个似乎变化很大,我很少使用控制台程序,所以没有分析过,在以前的C中,长度为1表示不携带参数,因为命令行中,命令名也是包含在参数中的)。
    2——
    按照上面的分析,args[0]指参数args数组中的第一个参数。由于字符串(string)可以通过索引获得指定位置的字符,所以args[0][0]就是获得参数args[0]这个字符串中的第一个字符。在C(包括C#)中,索引总是从0开始(好象现在的VB.NET也从0开始了)。
    3——
    这个问题就有点暧昧了。
    外面的这层括号是IsDigit函数调用时的括号,里面的括号嘛,那是可有可无的,不过礼多人不怪,多层括号没有导致错误也是允许的。就象:int a=8;if(a==3+5)
    ...一样,要判断a是否等于8直接使用不就行了,干吗要写成3+5或者10-2呢?
    4——
    这个问题就我也不知道了,char(等同Char)确实没有FromString这个函数。看代码:chLetter = Char.FromString(args[0]);和代码:char chLetter = args[0][0];我想使用FromString函数也就是为了获得args[0][0]吧。这个问题,估计是测试版的问题,看一下你的书,是否针对测试版写的。
      

  3.   

    huaisha83(怀) :谢谢,你讲得很透彻,基本上我都懂了 triout(笨牛) :我的书是2001年2月写的,也许真的是针对BATE版本的,呵呵!~谢谢