Main方法是C#控制台应用程序和Windows窗体应用程序的入口点。Main方法可以有形参,也可以没有,可以有返回值(int整型),也可以没有。如下定义:

无返回值、无形参的格式:
static void Main(){
//to do sth
} 无返回值、有形参的格式:
static void Main(string[] args){
//to do sth
} 有返回值、无形参的格式:
static int Main(){
//to do sth
return ;
} 有返回值、有形参的格式:
static int Main(string[] args){
//to do sth
return ;
}

Main方法必须为静态形式,访问修饰符不能为public。因C#类中默认的访问修饰符为private,因此可以不写。

在外部可以通过输入命令行参数的形式启动应用程序,从而进入程序的入口(Main方法)。

在开始菜单中打开“Visual Studio开发人员命令提示”窗口,然后导航到cs文件所在目录。用csc命令编译包含Main方法的cs文件,如:csc test.cs。如果编译成功,当下目录会生成一个test.exe应用程序,这时可用test param1 param2命令调用应用程序并执行应用程序,每个参数之间用空格隔开,如果参数中有空格,就用双引号将该参数围着,这样应用程序就会将它识别为一个参数,而不是多个。

命令行输入格式如下:

命令行输入格式 传递给Main方法的字符串数组格式
test one two three

"one"

"two"

"three"

test a b c

"a"

"b"

"c"

test "one two" three

"one two"

"three"

测试代码如下:

class test{
static int Main(string[] args){
int count=;
if(args!=null && args.Length>)
foreach(string item in args)
System.Console.WriteLine("第{0}个参数:{1}",count++,item);
else
System.Console.WriteLine("没有输入任何参数!");
System.Console.WriteLine("程序结束!");
return ;
}
}

测试结果如图:

可以用批处理文件来运行C#应用程序,并根据应用程序返回的整型结果进行下一步逻辑操作。

在Windows中执行程序时,Main方法返回的任何值都将保存到名为ERRORLEVEL的环境变量中。可以通过检查ERRORLEVEL变量的值,批处理文件可以确定程序执行的结果。通常可以将返回值设置为0,用来表示程序执行成功的标志。

test.bat批处理文件内容如下:

rem test.bat
@echo off
test one two three
@if "%ERRORLEVEL%" == "0" goto Success :Failed
echo program execute failed
echo the return value is %ERRORLEVEL%
goto End :Success
echo program execute success
echo the return value is %ERRORLEVEL%
goto End :End pause

批处理test.bat执行结果如下:

读书笔记 C# 控制台应用程序之Main方法浅析的更多相关文章

  1. 控制台应用程序的Main方法

    总结一下Main方法规则: 1.Main 方法名大小写有规范. 2.Main 方法返回类型只有 void.int两种返回类型. 3.Main 方法的参数可以是string[] args,也可以为空,只 ...

  2. C#取得控制台应用程序的根目录方法 判断文件夹是否存在,不存在就创建

    取得控制台应用程序的根目录方法1:Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径2:AppDomain.CurrentDomain.BaseDirect ...

  3. C#取得控制台应用程序的根目录方法

    如有雷同,不胜荣幸,若转载,请注明 取得控制台应用程序的根目录方法1:Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径2:AppDomain.Curren ...

  4. 《Java编程思想》读书笔记-第一个Java程序

    积少成多,欢迎大家关注我的微信公众号,共同探讨Java相关技术 今天的重点是:编写源代码.编译.运行.查看成果.除此之外,还需要搭建起与前面学习的知识的联系. 写本文时依据的系统环境是Windows1 ...

  5. C#程序之Main()方法

    一.Main()方法的简介 1.一般情况下,一个C#可执行程序只有一个应用程序对象(也就是就程序入口),但是在某些情况,可能会有多个应用程序对象(程序入口),如单元测试中,这个时候我们就需要通过命令行 ...

  6. 读书笔记-详解C程序开发中 .c和.h文件的区别

    一个简单的问题:.c和.h文件的区别 学了几个月的C语言,反而觉得越来越不懂了.同样是子程序,可以定义在.c文件中,也可以定义在.h文件中,那这两个文件到底在用法上有什么区别呢? 2楼: 子程序不要定 ...

  7. 【读书笔记】iOS-应用程序剖析

    一,Default.png 包含应用程序默认扉页的PNG图像文件.用户运行应用程序时,iPhone会用此图片显示一个动画,产生由小变大来到屏幕前的效果.应用程序的Default.png文件加载后会不断 ...

  8. 《程序是怎样跑起来的》读书笔记——第一章 对程序员来说CPU是什么

    1 程序的运行流程 2 CPU的组成 3 寄存器的主要种类和功能 "程序计数器"--决定程序流程的 4 条件分支和循环机制 4.1 顺序执行 4.2 选择分支 5 函数的调用机制 ...

  9. 【读书笔记】C/C++程序员面试秘籍

    第一章 C/C++ 程序基础(共12题) 第二章 预处理.const.static.和 sizeof(共27题) 第三章 引用和指针(共39题) 第四章 字符串(共31题) 第五章 位运算与嵌入式编程 ...

随机推荐

  1. windows的gvim总是报错: +iconv fencview.vim

    iconv是用来转换gvim文件的编码的, 需要插件: iconv.dll gvim7.3的文件目录结构: vim/vim73是它的核心文件, 而vimfiles是扩展文件, 里面的plugin是专门 ...

  2. P3216 [HNOI2011]数学作业 (矩阵快速幂)

    P3216 [HNOI2011]数学作业 题目描述 小 C 数学成绩优异,于是老师给小 C 留了一道非常难的数学作业题: 给定正整数 NN 和 MM ,要求计算 Concatenate (1 .. N ...

  3. SPOJ - POLYNOM Polynomial(数论乱搞)题解

    题意 :给你n个数,问你是否存在一个多项式(最多三次方)满足f(i)= xi. 思路:讲一个神奇的思路: x3 - (x - 1)3 = 3x2 - 3x + 1 x2 - (x - 1)2 = 2x ...

  4. mysql链接 显示 error: 'Access denied for user 'root'@'localhost' (using password: NO)'

    解决方案 https://stackoverflow.com/questions/2995054/access-denied-for-user-rootlocalhost-using-password ...

  5. BZOJ 1001: [BeiJing2006]狼抓兔子(s-t平面图+最短路求最小割)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1001 题意: 思路:这道题目是最小割题目,但是吧你直接套用Dinic是会超时的. 这里有种很奇妙的做 ...

  6. 【转】C/C++ 函数指针与类函数指针

    转自:http://blog.csdn.net/iamshaofa/article/details/17614615 C函数指针 int numAdd(int a, int b) { return a ...

  7. android适配各种分辨率的问题

    Android设备屏幕的尺寸是各式各样的,如小米是4英寸的,Xoom平板是10英寸:分辨率也千奇百怪,800×480,960×540等:Android版本的碎片化问题更是萦绕于心,不过在设计应用时可以 ...

  8. android开发:Android 中自定义View的应用

    大家好我们今天的教程是在Android 教程中自定义View 的学习,对于初学着来说,他们习惯了Android 传统的页面布局方式,如下代码: <?xml version="1.0&q ...

  9. Codeforces 454D - Little Pony and Harmony Chest

    454D - Little Pony and Harmony Chest 思路: 状压dp,由于1的时候肯定满足题意,而ai最大是30,所以只要大于等于59都可以用1替换,所以答案在1到59之间 然后 ...

  10. angular编译机制

    转载https://segmentfault.com/a/1190000011562077 Angular编译机制 前言 http://www.cnblogs.com/ztwBlog/p/620975 ...