资源描述
Main() 和命令行参数(C# 编程指南)
Visual Studio 2012
其他版本
· Visual Studio 2010
· Visual Studio 2008
· Visual Studio 2005
Main方法是 C# 控制台应用程序或窗口应用程序的入口点。(库和服务不要求将 Main 方法作为入口点。)应用程序启动时,Main 方法是第一个调用的方法。
C# 程序中只能有一个入口点。如果您有多个类都包含 Main 方法,则必须使用 /main 编译器选项编译您的程序,以指定用作入口点的 Main 方法。有关更多信息,请参见 /main(C# 编译器选项)。
C#
复制
class TestClass
{
static void Main(string[] args)
{
// Display the number of command line arguments:
System.Console.WriteLine(args.Length);
}
}
概述
· Main 方法是 .exe 程序的入口点,程序控制流在该处开始和结束。
· Main 在类或结构内声明。Main 必须是静态的,且不应该是公用的。(在前面的示例中,它接受默认访问级别 private。)但不要求封闭类或结构是静态的。
· Main 的返回类型有两种:void 或 int。
· 所声明的 Main 方法可以具有包含命令行实参的 string[] 形参,也可以不具有这样的形参。使用 Visual Studio 创建 Windows 窗体应用程序时,可以手动添加形参,也可以使用 Environment 类获取命令行实参。形参读取为从零开始编制索引的命令行实参。与 C 和 C++ 不同,在 C# 中不将程序名称视为第一个命令行实参。
本节内容
· 命令行参数(C# 编程指南)
· 如何:显示命令行参数(C# 编程指南)
· 如何:使用 foreach 访问命令行参数(C# 编程指南)
· Main() 返回值(C# 编程指南)
C# 语言规范
有关更多信息,请参见 C# 语言规范。该语言规范是 C# 语法和用法的权威资料。
请参见
任务
C# 示例应用程序
参考
方法(C# 编程指南)
在 C# 程序内部
概念
C# 编程指南
C#中static void Main(string[ ] args)中的作用及解释
2011-02-24 16:53:19| 分类: C#知识 | 标签: |字号大中小 订阅
C#中static void Main(string[ ] args)中的作用及解释
static 表示方法是静态的就是说方法在程序被编译的时候就被分配了内存,使用的时候不用生成某个类型的对象,直到程序退出才释放。
void 表示方法没有返回值,就是方法没有return 关键字。
main 是方法名,当然这个方法是特殊的方法,是Main()就是说是主函数,就是整个程序的入口,程序被编译后从这里开始执行,这也是main方法要是static的原因,因为在啥都没做的时候这个函数就得存在。
(C# Main函数的概念是什么呢?C# Main()是C#应用程序的入口点,执行这个函数就是执行应用程序。也就是说,在执行过程开始时,会执行Main()函数,在Main()函数执行完毕时,执行过程就结束了。
C# Main函数的四种情况:
1. static void Main()
2. {
3. }
4. static int Main()
5. {
6. }
7. static void Main(string[] args)
8. {
9. }
10. static int Main(string[] args)
11. {
12. }
1.主程序Main函数一共有以上四种版
2.一个程序中不能有两个以上的Main函数,有且只有一个
3.Main函数只能返回int类型,如果返回1,则从命令行调用不成功。否则成功
4.在命令行传输参数时,存放在string数组args中。使用Length属性来测试输入参数的个数。
5.使用foreach语句来检索所有的参数
6.程序入口主要供其他程序来执行本程序功能
C# Main函数实例:
1. //Main() 和命令行参数
2.
3. /*以检举数组中所有元素访问信息
4. for each (string str int args(
5. Console.WriteLine(str);*/
6. using System;
7. using System.Collections.Generic;
8. using System.Text;
9.
10. namespace HelloWorld
11. {
12. class Program
13. {
14. public static long getx(int x)
15. //阶乘 (注:使用Static定义的方法不用实例化就能使用)
16. {
17. long y = 1;
18. for (int i = 2; i<=x; i++)
19. {
20. y =y * i;
21. }
22. return y;
23. }
24. public static long gety(int x) //阶加
25. {
26. long y = 0;
27. for (int i = 1; i <= x; i++)
28. {
29. y += i;
30. }
31. return y;
32. }
33. static int Main(string[] args)
34. {
35. if (args.Length != 1)
36. //测试args[]数组的长度 ------即是输入的命令行的参数是多少
37. {
38. Console.WriteLine("程序使用说明:输入一个整数来算出其的阶乘.");
39. Console.WriteLine(" 输入一个整数来算出其的阶加.");
40. }
41. else if (Convert.ToInt32(args[0]) < 1 )
42. {
43. Console.WriteLine("输入参数不能小于1");
44. }
45. else
46. {
47. int x; long y,z;
48. try
49. {
50. x = Convert.ToInt32(args[0]);
51. y = getx(x);
52. z = gety(x);
53. Console.WriteLine(x + "的阶乘为: " + y);
54. Console.WriteLine(x + "的阶加为: " + z);
55. return 1; //返回1表示调用程序成功执行
56. }
57. catch(Exception ex)
58. {
59. Console.WriteLine(ex.ToString());
60. }
61. }
62. }
63. }
64. }
C# Main函数实例执行结果
)
string[] args 表示命令行参数是字符串数组,就是说,你在命令行(黑框框)里输入的参数可以使多个字符串(在某种意义上意味着什么都可以是命令行参数)。
运行时会弹出命令窗口,你可以在那里输入一些参数,string[] args 指的就是你在命令窗口输入的参数。args是用来处理命令行参数的。命令行参数,就是你运行这个程序的时候给它传的参数。它是可选项,不是必须的。
如何向C# Main函数传递参数呢?我们看到C# Main函数带有一个string[] args参数,那么你知道它有什么实际的功能呢?下面我们来具体谈谈:
C#控制台应用程序下,我们常常看到Main函数带有一个string[] args参数,那么你知道它有什么用处?
步骤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
由于参数个数是未知的,所以允许输入任意多个,也可以不输入。
展开阅读全文