C#基础温习(1):温习控制台程序(一)
我开始学C#的时候是从控制台程序开始的,现在就温习一下控制台程序。
好了,到现在为止一个完整的helloworld控制台应用完成了。当初开始学习的时候也就到此为止了。其实真的很简单,我们仅仅往里面写了两句代码:Console.WriteLine("Hello World"); Console.ReadKey();
我们的功能完成了,可是为什么这么写呢?如果没有自动生成的代码我们能不能写出完整的上面的语句?答案是不能,因为我们不了接原理。
下面我来写段程序证明我们可以得到参数,并显示出来:
这个例子我们学到了如何给Main传参数,以及如何获取参数。
控制台原始代码介绍
首先我们新建一个控制台应用程序,新建的过程我就不细说了,建立成功后我们会看到如下代码:using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace HelloWorld { class Program { static void Main(string[] args) { } } }上面的代码大家都很熟悉,我当初学习的时候就是看了书上的demo,直接往里面填数据,然后一运行,出结果,然后觉得很好玩,从来没详细了解过这段原始代码的意思,现在重新再看当然不一样了。有了一定的基础了,然后我开始解释这些代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text;这四句,是命名空间的引用,因为我使用的是Visual Studio 2010写的程序,所以默认的引入了上面四个命名空间。新手也许会问什么是命名空间?我会写另外的文章介绍命名空间。老手的话这节的内容就是废话了。
//命名空间名字:hello world namespace HelloWorld { }上面这句是我写的程序的命名空间叫HelloWorld,也是最常用的程序学习的例子了。
class Program { }这一句是类的声明,生命了一个叫Program的类。
static void Main(string[] args) { }这一句声明了一个静态方法Main。 note:我废话了半天就是一句一句的介绍了上面代码的意思,IDE上来就给我们自动生成了这么多代码,我们应该了解为什么会有这么多代码。刚开始学的时候没有注意,以为写出代码来即可。大部分的新手都不会注意,那么看到这篇文章的时候希望大家都能意识到每一句代码都是有用的,无论是自动生成还是我们自己写的,都要搞明白。这是我这个老菜鸟的建议。
HelloWorld程序编写
HelloWorld代码编写如下:using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello World"); Console.ReadKey(); } } }运行结果如下:
![helloworld](http://vsdot.net/wp-content/uploads/2013/04/helloWorld.png)
Main()函数详解
Main方法是 C# 控制台应用程序或窗口应用程序的入口点。(库和服务不要求将 Main 方法作为入口点。)应用程序启动时,Main 方法是第一个调用的方法。note:所以我们的Visual Studio 会自动生成的是Main()函数,因此一按F5运行,就会顺序执行我们新写入的两句代码:Console.WriteLine("Hello World");//将指定的字符串值(Hello World)写入标准输出流。 Console.ReadKey();//获取用户按下的下一个字符或功能键。按下的键显示在控制台窗口中。因为我们写了Console.ReadKey(),所以我们会等待输入,然后我们就能在控制台看到上面Hello World的字符串输出流,当我们输入任意键的时候就会运行结束。当然如果没有这句代码我们的运行程序就会一闪而过我们看不到具体输出是什么。大家可以试试。 我们的Main()函数是有输入参数的,那Main()到底有几种签名呢? 共有四种,分别是:
static void Main() static void Main(string[] args)//我们目前执行的就是这个签名 static int Main() static int Main(string[] args)我们可以总结出:
- Main 方法是 .exe 程序的入口点,程序控制流在该处开始和结束。
- Main 在类或结构内声明。Main 必须是静态,且不应该是公开。但不要求封闭类或结构是静态的。
- Main 的返回类型有两种:void 或 int。
- Main有一个字符串数组作为形参,当我们需要外部输入的时候直接使用这个参数就可以。
![参数](http://vsdot.net/wp-content/uploads/2013/04/debugparamer.png)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello World"); if (args.Length!=0) { Console.WriteLine("共有字符串个数:"+args.Length); foreach (string str in args) { Console.WriteLine(str); } } Console.ReadKey(); } } }运行结果如下:
![运行结果](http://vsdot.net/wp-content/uploads/2013/04/runresult.png)