【C#】1.2 控制台应用程序学习要点
分类:C#、VS2015
创建日期:2016-06-14
教材:十二五国家级规划教材《C#程序设计及应用教程》(第3版)
一、要点概述
《C#程序设计及应用教程》(第3版)的第1~6章是C#”语言“层面的编程基础,这些内容虽然都是用控制台应用程序实现(VS2015版的配套源程序还同时提供了WPF的对应实现供参考),但是这些语言层面的基础也同样适用于其他“各种类型”的应用程序,所以是学习C#编程首先必须掌握的内容。
一定要记住,只会用控制台应用程序写程序绝不是最终目的,那样的话你参与实际项目时仍然会到处碰壁。
二、输出
不论你用什么语言写程序,你首先想了解的肯定是我如何将结果显示出来,如何接收键盘输入的信息。所以,知道怎样输出和输入内容是首先必须掌握的技术。
在.NET框架中,控制台输入输出都是靠System命名空间下的Console类来实现的。由于控制台应用程序模板自动给你添加了对Systm命名空间的引用,所以你可以直接调用System.Console类提供的静态方法。
典型用法:
Console.Write();
Console.Write(...);
Console.WriteLine();
Console.WriteLine(...);
对于其他类型的应用程序(比如WPF应用程序),也一样可以利用控制台输出信息,只不过这个信息仅仅是为了让程序员自己看,是为了让程序员自己观察调试的信息,而不是为了让最终用户看。典型用法:
# if DEBUG Console.WriteLine("OK"); #endif
注意这里用到了预编译指令(属于高级用法,教材中没有涉及到它)。这段代码的意思是:如果是调试状态,就利用控制台输出指定的信息,否则不执行。
程序员自己观察调试信息的另一种替换的办法是不用预编译指令实现,而是直接调用System.Diagnostics.Debug命名空间下的.WriteLine方法,这种输出调试信息的效果和使用预编译指令输出调试信息的效果相同。例如:
System.Diagnostics.Debug.WriteLine("OK");
本人比较喜欢用这种办法实现。
不论采用上面介绍的两种办法中的哪一种,其作用都是“仅在调试状态下”才输出相应的信息。换言之,只有你按<F5>调试运行时,它才会执行相应的语句。如果你是按<Ctrl>+<F5>不调试运行,或者是发布后的程序,它就不会执行这些语句。
三、输入
典型用法示例:
string s = Console.ReadLine(); //接收从键盘输入的1行内容到字符串s中
var c = Console.ReadKey(); //接收从键盘输入的1个字符到c中
四、格式化输出
按教材上的例子学习即可。
一旦你学会了基本的输入输出语句,接下来你肯定想知道“如果我想按某种格式输出指定的信息怎么办”,这就是格式化输出的意义。
记住:格式化输出并不是仅限于控制台应用程序。换言之,在各种类型的应用程序中,都是这样进行格式化处理的,而Console.WriteLine(...)仅仅是例子而已。