class dataclass
{
private int a,b;
public dataclass(int x,int y)
{
a=x;
b=y;
}
public int add()
{
return a+b;
}
}
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
static int sp1;
static int sp2;
public Class1()
{
dataclass sample=new dataclass(sp1,sp2);
Console.WriteLine("the result:{0}",sample.add());
}
[STAThread]
static void Main(string[] argv)
{
if(argv.Length!=2)
{
Console.WriteLine("error!");
return;
}
sp1=System.Convert.ToInt16("34");
sp2=System.Convert.ToInt16("35");
Class1 a=new Class1();
// TODO: 在此处添加代码以启动应用程序
//
}
}
其中在Main()函数中argv是什么啊?还有argv.Length!=2什么意思,请帮帮忙,详细解释一下谢谢!!!

解决方案 »

  1.   

    argv就是一个数组名啊,length就是这个数组的长度。
      

  2.   

    argv:
    是一个数据类型!它是一个指向字符串的指针,或者是一个指向字符串的引用。说到指针,您只见过带*号的,但args确实是一个指针。当Main被调用之前,启动代码早已解析命令行,并且创建一个字符串数组,接着把指针传入该数组。象对args.length类似的调用使我可以解决一些问题,该调用会返回数组的length属性,此属性含有数组元素的个数,然后我正好可以利用一个正常的for语句进行循环,或者可以用C#的for each,特殊的for each语句用于快速的循环。命令行参数。。
    我记得在C中编译的时候 程序后面跟的参数数组。。
      

  3.   

    一般适于控制台程序。string[] argv 表示命令行参数,argv.Length就是此数组的长度,即可用参数的个数!
    argv.Length!=2 即运行程序时至少要2个参数!
    即如果把程序编译成test.exe的话,运行程序时可以转入参数。
    例如: test 34 35
    其中34,35是String.所以在程序中要显式转为short(Int16)