日期:2014-05-19  浏览次数:20908 次

Main参数的疑问
using   System;
namespace   IsChar
{
  class   IsChar
  {
    [STAThread]
    static   void   Main(string[]   args)
    {
   
      string   vocal   =   "aeiou ";
      string   consonant   =   "bcdfghjklmnopqrstvwxyz ";
      Console.WriteLine( "请输入一个字母: ");
      string   input   =   Console.ReadLine();
      //此处可加while循环,用于循环判断
      if(input.Length   ==   1)
      {
        //将字母转换成小写
        input.ToLower();//将字母转换成小写
        if(vocal.IndexOf(input)   >   -1)
        {
          Console.WriteLine( "您输入的是元音字母 ");
        }
        else   if(consonant.IndexOf(input)   >   -1)
        {
          Console.WriteLine( "您输入的是辅音字母 ");
        }
        else
        {
          Console.WriteLine( "您输入的不是字母 ");
        }
      }
      else
      {
        Console.WriteLine( "请输入(一个)字母!! ");
      }
Console.ReadLine();  
    }
}
}

main的参数一定是string[]   args,是个数组,不能是其他类型的参数了吗?

还有这段程序里[STAThread]的意思是什么呢?


------解决方案--------------------
[STAThread]是Single Thread Apartment单线程套间的意思

参数你能输入的只有n个字符串吧
------解决方案--------------------
还有这段程序里[STAThread]的意思是什么呢?

=============
[STAThread]
[]代表是特性
[STAThread]表示保证程序主线程的运行就像由各个部分连成的单个线程,这一行的作用是为了使键盘和windows操作系统其他部分能够正确地协同工作


+++++++++


main的参数一定是string[] args,是个数组,不能是其他类型的参数了吗?

======


你还想要什么参数呢?
------解决方案--------------------
string[] args 初忠是方便命令行程序启动时输入参数, 输入的参数,只有文本才适合吧.
------解决方案--------------------
把sting参数转换为 其他类型 应该可以实现
------解决方案--------------------
lz:
既然是命令行参数,系统自然将它设计成字符串数组形式,其实其他语言也是这样,如C/C++等。如果进程间要传递其他类型的参数,调用方也须先转换成字符串形式,在被调方可以用Convert 类或 Parse 方法将字符串参数转换为其他类型。