第4章控制台应用程序设计

Download Report

Transcript 第4章控制台应用程序设计

第4章 控制台应用程序设计
主讲教师: 杨建军
2020年4月30日
Talents come from diligence,
and knowledge is gained by accumulation.
天才源于勤奋,知识源于积累 。
教学目标
本章主要介绍命名空间概念、定义及导入方
法,标准输入输出类System.Console类的
应用,System.Convert类的应用,C#程序
的基本结构,Main方法的定义方法及功能,
控制台应用程序的设计,命令行方式上机
操作等内容。通过本章的学习,读者将对
C#的框架有个初步的认识,能够完成控制
台应用程序的设计,熟悉命令行方式上机
操作。
教学重点
 命名空间概念的含义
 namespace和using关键字使用
 System.Console类的使用
 System.Convert类的使用
 Main方法
 C#主要预处理指令的使用
 C#程序的基本结构
 控制台应用程序的设计
 命令行方式上机操作
4.1 命名空间
命名空间是一组包含相关方法的相似类,
专门用于避免类与类之间的名称冲突。
C#允许把多个类收集在一起成为一组,便
于组织代码,使自己的任务和他人提供的
代码库分离;还可以提高编译速度。命名
空间可以嵌套,从而分成层次,类似于硬
盘上的目录组织。多个源代码文件可以使
用同一个命名空间。使用命名空间一是可
以使每个命名空间中的类不至于过多,二
是可以保证类名的唯一性。
4.1.1 namespace关键字
关键字namespace将后面大括号中的所有类
添加到一个命名空间中。
一个文件中可以有多个namespace语句。
即使未显式声明命名空间,也会创建默认
命名空间。
全局命名空间中的任何标识符都可用于命
名的命名空间中。
namespace语句中包含的类可以使用
private或public修饰符,缺省为public。
4.1.1 namespace关键字

namespace语句对于源文件的存放位置
并无要求。编译器编译时也不对文件位置
做检查。
 提示:最好使用公司的名称作为根命名
空
.Net Framework类库常用的命名空间如表41所示
4.1.1 namespace关键字
命名空间
说明
System.Drawing
处理图形和绘图,包括打印。
System.Data
处理数据存取和管理,在定义 ADO.NET 技术中扮
演重要角色。
System.IO
管理对文件和流的同步和异步访问。
System.Windows
处理基于窗体的窗口的创建。
System.Reflection
包含从程序集读取元数据的类。
System.Threading
包含用于多线程编程的类。
System.Collections
包含定义各种对象集的接口和类。
4.1.2 using关键字
使用using关键字,using的作用是导入命名
空间中的所有公开类。using的语法格式是:
using 命名空间的层次结构名称;
4.2 System.Console类
输入和输出是很多程序中常用的功能,也
是非常重要的功能,C#提供了功能强大的
输入与输出的控制。它主要通过“流”来
控制输入和输出。流是字节序列的抽象概
念,例如文件、输入输出设备、内部进程
通讯管道或者TCP/IP套接字。
Console类对从控制台读取字符并向控制台
写入字符的应用程序提供基本支持。如果
控制台不存在(在基于Windows的应用程
序中就是这样),则不显示向控制台的写
4.2 System.Console类
Console类的属性:如表4-2所示。
Console类的方法:如表4-3所示。
应用举例:例4-1;例4-2
4.3 System.Convert类
在C#的System命名空间中,有一个
Convert(转换)类,该类提供了由字符串
类型转换为相应其他基本数据类型的一系
列静态方法。
类型转换方法最常用的调用格式之一是:
Convert.静态方法名(字符串类型数据)
表4-4给出了Convert类的常用静态方法 。
表4-4 Convert类常用的静态方法
命
令
结
Convert.ToBoolean(val)
val 转换为 bool
Convert.ToByte(val)
val 转换为 byte
Convert.ToChar(val)
val 转换为 char
Convert.ToDecimal(val)
val 转换为 decimal
Convert.ToDouble(val)
val 转换为 double
Convert.ToInt16(val)
val 转换为 short
Convert.ToInt32(val)
val 转换为 int
Convert.ToInt64(val)
val 转换为 long
Convert.ToSByte(val)
val 转换为 sbyte
Convert.ToSingle(val)
val 转换为 float
Convert.ToString(val)
val 转换为 string
Convert.ToUInt16(val)
val 转换为 ushort
Convert.ToUInt32(val)
val 转换为 uint
Convert.ToUInt64(val)
val 转换为 ulong
果
4.4 Main方法
每一个应用程序都必须包含一个名称为Main
的方法,这个方法可以在应用的任何一个
类中定义,也可以在一个单独的类中定义。
具体在哪个类中包含这个方法是无关紧要
的,在一个给定的应用程序中可以包含任
意数量的类,只要其中一个类包含名称为
Main的方法就可以了。另外,这个方法必
须被定义为“public”和“static”。
4.4 Main方法
Main方法总共有以下4种签名:
public static void Main()
public static void Main(string[] args)
public static int Main()
public static int Main(string[] args)
4.5 C# 预处理器指令
1. #define 可用来定义符号。也可以用
/define 编译器选项来定义符号。其定义的
一般格式是:
#define 符号名
可以用 #undef 来取消定义符号。其定义的
一般格式是:
#undef 已定义的符号名
4.5 C# 预处理器指令
2. #region ... #endregion
#region ... #endregion使您可以在使用
Visual Studio代码编辑器的大纲显示功能时
指定可展开或折叠的代码块。
4.5 C# 预处理器指令
3. #if…#elif…#else…#endif
使用 #if 以及 #else、#elif、#endif、#define 和 #undef 指
令,可以包括或排除基于由一个或多个符号组成的条件的
代码。这在编译调试版本的代码或编译特定配置时最为有
用。其定义的一般格式是:
#if (符号表达式1)
…
[#elif (符号表达式2)
…]
[#else
…]
#endif
4.6 C#程序结构
C#程序结构特点如下:
所有代码都组织在类中。
程序从Main()方法开始执行,Main方法可
以包含字符串数组(string[] args)类型的参数。
C#语言区分大小写。
C#程序中允许任意多的空白。
C#程序中可以使用//, /* … */和///添加注释,
///后面跟xml。
4.6 C#程序结构
C#程序可由一个或多个文件组成。每个文件
可包含一个或多个命名空间。一个命名空
间除了可包含其他命名空间外,还可包含
class( 类)、struct( 结构)、interface( 接口)、
enum( 枚举 )、delegate( 代理)等类型。
以下给出C#程序的框架,它可能包含所有
这些元素。
4.7创建一个控制台应用程序
在Visual Studio 2005中创建一个控制台应用程序步骤是:
(1) 启动Microsoft Visual Studio 2005。
(2) 选择【文件】|【新建】|【项目】。随后会打开【新建项
目】对话框。
(3) 在【模板】选项区域中选择【控制台应用程序】图标。
(4) 在【位置】文本框中输入项目文件的路径。
(5) 在【名称】文本框输入文件名或用默认的文件名。
(6) 确定已勾选了【创建解决方案的目录】选项,然后单击
【确定】按钮。
4.7创建一个控制台应用程序
(7) 在显示了Program.cs文件【代码和文本编辑器】窗口
Main方法的大括号中输入你的源程序。
// Output text to the screen.
Console.WriteLine("欢迎使用Visual Studio 2005开发C#程
序");
Console.ReadKey();
(8) 选择【生成】|【生成解决方案】,确定错误列表窗口没
有任何错误出现。如有错误,修改源程序,重新编译,直
到没有任何严重错误为止。该过程将编译项目中包括的所
有文件,编译结果显示在“输出”窗口中 ,如果结果显
示“生成: 1 已成功, 0 已失败, 0 已跳过”,
(9) 选择【调试】|【开始执行(不调试)】,随后会打开一
个命令窗口,程序开始运行。
4.8命令行操作方式
可以通过在命令行上键入 C# 编译器的可执
行文件 (csc.exe) 的名称来调用 C# 编译器。
如果您使用“Visual Studio 命令提示”
(以“开始”菜单上“Visual Studio 工具”
下的快捷方式提供),则系统已为您设置
好所有必要的环境变量。否则,必须调整
路径,以便使 csc.exe 可从计算机上的任何
子目录中调用。如果不使用“Visual Studio
命令提示”,则必须运行 vsvars32.bat 以
设置适当的环境变量来支持命令行生成。
本章小结
本章重点介绍了名称空间、怎样导入系
统的名称空间;System.Console类 和
System.Convert类的使用 ;特殊方法Main
方法 的特点;C#程序的基本结构 ;控制台
应用程序的设计 和上机操作。