C#中Main函数中的参数有什么作用,在函数中加入参数又起到什么作用呢

如题所述

Main方法是程序的入口点,您将在那里创建对象和调用其他方法,程序控制在该方法中开始和结束。一个 C# 程序中只能有一个入口点。该方法在类或结构的内部声明。它必须为静态方法,而不应为公共方法。(它接受默认访问级别 private。)
它可以具有 void 或 int 返回类型。声明 Main 方法时既可以使用参数,也可以不使用参数,使用参数的话只能是string数组,Main方法一共有以下四种形式
1.没有参数 返回值为void static void Main()
2.没有参数返回值为int static int Main()
3.带有参数返回值为void static void Main(string[] args)
4.带有参数返回值为int static int Main(string[] args)
这4种Main方法都没有包含访问修饰符(如public)。即使包含访问修饰符,也会在运行时忽略它们。C#的惯例是在Main方法中忽略访问修饰符。
string数组参数的使用(例子) :
步骤1:建立一个控制台应用程序,暂且命名为Main.cs
步骤2:贴上下面这段代码。
using System;
class Program
{
static void Main(string[] args){
int argsLength = args.Length;
Console.WriteLine("Main函数参数args的长度:" + argsLength.ToString());
for (int i = 0; i < argsLength; i++)
{
Console.Write("第" + i.ToString() + "位是:");
Console.WriteLine(args[i].ToString());
}
}
}
步骤3:编译并运行Main.cs,生成Main.exe文件
步骤4:在命令行模式下输入c:\>Main a b c ,敲回车看结果
输出结果为:
Main函数参数args的长度:3
第0位是:a
第1位是:b
第2位是:c
由于参数个数是未知的,所以允许输入任意多个,也可以不输入
或者在运行之前将我们的参数设定,以便传入。在"解决方案"窗口中,右键你的项目名,选择 "属性",在弹出的新窗口中选择 "调试" ->"启动选项"->"命令行参数" 中,输入你要传入的string参数值。(多个参数之间用空格隔开)
如果不需要使用 Main 的返回值,则返回 void 可以使代码变得略微简单。但是,返回整数可使程序将状态信息与调用该可执行文件的其他程序或脚本相关。下面的示例演示使用
Main 的返回值。
class MainReturnValTest
{
static int Main()
{
//...
return 0;
}
}
由于此示例使用了批处理文件,因此最好从命令行编译这段代码,
然后,使用批处理文件调用前面的代码示例所生成的可执行文件。由于代码返回零,因此批处理文件将报告成功。但如果前面的代码更改为返回非零值,然后重新编译,则批处理
文件的后续执行将指示失败。
rem test.bat
@echo off
MainReturnValueTest
@if "%ERRORLEVEL%" == "0" goto good
:fail
echo Execution Failed
echo return value = %ERRORLEVEL%
goto end
:good
echo Execution Succeded
echo return value = %ERRORLEVEL%
goto end
:end

示例输出
Execution Succeded
return value = 0
在此示例中,使用了一个批处理文件来执行程序并测试 Main 函数的返回值。在 Windows 中执行程序时,Main 函数返回的任何值都将存储在名为 ERRORLEVEL 的环境变量中。通
过检查 ERRORLEVEL 变量,批处理文件可以确定执行的结果。通常,返回值为零指示执行成功。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-21
Main方法是程序的入口点,您将在那里创建对象和调用其他方法,程序控制在该方法中开始和结束。一个 C# 程序中只能有一个入口点。该方法在类或结构的内部声明。它必须为静态方法,而不应为公共方法。(它接受默认访问级别 private。)
它可以具有 void 或 int 返回类型。声明 Main 方法时既可以使用参数,也可以不使用参数,使用参数的话只能是string数组,Main方法一共有以下四种形式
1.没有参数 返回值为void static void Main()
2.没有参数返回值为int static int Main()
3.带有参数返回值为void static void Main(string[] args)
4.带有参数返回值为int static int Main(string[] args)
这4种Main方法都没有包含访问修饰符(如public)。即使包含访问修饰符,也会在运行时忽略它们。C#的惯例是在Main方法中忽略访问修饰符。
string数组参数的使用(例子) :
步骤1:建立一个控制台应用程序,暂且命名为Main.cs
步骤2:贴上下面这段代码。
using System;
class Program
{
static void Main(string[] args){
int argsLength = args.Length;
Console.WriteLine("Main函数参数args的长度:" + argsLength.ToString());
for (int i = 0; i < argsLength; i++)
{
Console.Write("第" + i.ToString() + "位是:");
Console.WriteLine(args[i].ToString());
}
}
}
步骤3:编译并运行Main.cs,生成Main.exe文件
步骤4:在命令行模式下输入c:\>Main a b c ,敲回车看结果
输出结果为:
Main函数参数args的长度:3
第0位是:a
第1位是:b
第2位是:c
由于参数个数是未知的,所以允许输入任意多个,也可以不输入
或者在运行之前将我们的参数设定,以便传入。在"解决方案"窗口中,右键你的项目名,选择 "属性",在弹出的新窗口中选择 "调试" ->"启动选项"->"命令行参数" 中,输入你要传入的string参数值。(多个参数之间用空格隔开)
如果不需要使用 Main 的返回值,则返回 void 可以使代码变得略微简单。但是,返回整数可使程序将状态信息与调用该可执行文件的其他程序或脚本相关。下面的示例演示使用
Main 的返回值。
class MainReturnValTest
{
static int Main()
{
//...
return 0;
}
}
由于此示例使用了批处理文件,因此最好从命令行编译这段代码,
然后,使用批处理文件调用前面的代码示例所生成的可执行文件。由于代码返回零,因此批处理文件将报告成功。但如果前面的代码更改为返回非零值,然后重新编译,则批处理
文件的后续执行将指示失败。
rem test.bat
@echo off
MainReturnValueTest
@if "%ERRORLEVEL%" == "0" goto good
:fail
echo Execution Failed
echo return value = %ERRORLEVEL%
goto end
:good
echo Execution Succeded
echo return value = %ERRORLEVEL%
goto end
:end

示例输出
Execution Succeded
return value = 0
在此示例中,使用了一个批处理文件来执行程序并测试 Main 函数的返回值。在 Windows 中执行程序时,Main 函数返回的任何值都将存储在名为 ERRORLEVEL 的环境变量中。通
过检查 ERRORLEVEL 变量,批处理文件可以确定执行的结果。通常,返回值为零指示执行成功。
第2个回答  2011-07-21
楼上的意建和解释都是有道理的。
关于构造函数初始化:你买个新房要装修一下才会去入住;同样,你的一些变量也要对它进行一些操作才可以用(如果不做初始化,原来内存单元存的是什么是不确定的,所以如果你不写构造函数的话,编译器会有一个默认的构造函数,把所有变量赋值为0或null;不同语言会有不同),但你也可以按你自己的意思,对变量进行赋值。但构造函数可以做的不只是赋值,只要是你想它做的,都可以写到里面去;编译器会在每次执行这个类时首先去执行构造函数而已。它也没什么特别的
另外,虚机团上产品团购,超级便宜
第3个回答  2011-07-21
程序的入口点

函数的参数作用是什么
C:\\>可执行文件名 参数 参数……;问题七:C#中Main函数中的参数有什么作用,在函数中加入参数又起到什么作用呢 Main方法是程序的入口点,您将在那里创建对象和调用其他方法,程序控制在该方法中开始和结束。一个 C# 程序中只能有一个入口点。该方法在类或结构的内部声明。它必须为静态方法,而不应...

C#中,函数的参数有什么用呢?麻烦具体举个例子!
浅显点,参数是用来传递的,你定义的方法或者函数里面需要用到一个字段,但这个字段并不是方法本身的,这个时候我们就会选择在方法中添加参数,以供我们在方法体中使用。你要做计算,比如public int Add(num1,num2);

C#函数参数有什么用?怎样用?什么是参数数组?详细一一回答。
1,函数参数是传入函数的参数,如 求和函数 sum(int a,int b); a,b 就是参数 2,参数传入的目的就是在函数中利用这些参数进行计算等。3,比如有一个函数int sum(int a, int b){int c;c = a + b; return c;} 你调用sum 函数时就可以 int x = sum(5,3); 这样 x 就 等于 8 ...

main函数参数的用法
我下面以C#为例跟你说明一下这个问题:在C#中Main方法的参数方面只能会两种情况,要么是无参,要么是string[]参数。如static void Main(){}或static void Main(string[] args){}上述中的第二种情况里的args就是一个用于接受参数的string数组。至于参数的传递与接受举例如下:假如有一程序test.exe,...

在C#中 Main括号里面的String[] agrs有什么用啊,为什么又可以写,又...
接收不定长度的 参数。当你不需要给main 函数传递任何参数的时候可以不写。

c语言中main函数参数写上int argc,char*argv到底是什么意思?什么作用...
int main(int argc, char *argv[]){ printf("%d\\n",argc);printf("%s\\n",argv[0]);printf("%s\\n",argv[1]);printf("%s\\n",argv[2]);return 0;} 编译: gcc -o hello aa.c (也就是编译出来的执行文件叫hello,这是linux上的编译方式)执行: hello aa bb 结果:2 hello aa...

在c#中,方法中带不带参数有什么区别,方法中的参数和方法体中的参数有...
其次,方法中的参数与方法体中的参数谈不是有什么联系,都是在方法中可以参于计算的,唯一的区别是在方法中的参数可以在外部调用的时候赋值,而方法体中的参数只能在此方法中赋值,楼上有一点说的不大对,就是方法中的参数在方法体内是可以重新赋值计算的,只是修改后的参数值不会被返回到传入的参数上...

C#的main函数怎样调用?
在C++中,main()一般要求用int,即应写为 int main (){ ……return 0;} 但有一些也可以写为void main() ,而有一些不能这么写,任何时候都可以用int main(),所以建议不用void main(),用C++编译器编译C一般不会有什么问题,因为C++是兼容C的。

在C#中何为参数,参数的定义是什么?
Main函数中的j和参数中的i指向的都是同一内存地址,它们的变量是一样的,所以当方法参数给i加1,直接导致了J的变化。因为指向的都是同一内存地址。在调用ref以前必须对参数进行初始化,而不是在方法中进行初始化。3.输出参数的调用在输出参数中,必须对参数进行初始化。从CLR角度看,关键字out和ref是...

在c#中Main()中的string[] args是什么意思??
既然args是一个字符串数组 那么访问起来就要使用下标 args[0]...args[args.Length-1],每个元素都是一个string类型的数据。main函数(方法)是程序运行的起点,运行程序时可以把参数传递给main函数。比如你在命令行中执行 c:>myProgram.exe -debug -step 就把-debug和-step这两个字符串传递给了main...

相似回答