C#控制台应用程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.6 C#程序结构
C#程序结构特点如下: 所有代码都组织在类中。 程序从Main()方法开始执行,Main方法可 以包含字符串数组(string[] args)类型的参数。 C#语言区分大小写。 C#程序中允许任意多的空白。 C#程序中可以使用//, /* … */和///添加注释, ///后面跟xml。
本章小结
本章重点介绍了名称空间、怎样导入系 统的名称空间;System.Console类 和 System.Convert类的使用 ;特殊方法Main 方法 的特点;C#程序的基本结构 ;控制台 应用程序的设计 和上机操作。
//带参数的Main方法可以使程序读取命令行参数。
4.5 C# 预处理器指令
1. #define 预处理器指令 #define可用来定义符号。 其定义的一般格式是: #define 符号名 可以用 #undef 来取消定义符号。其定义的一般格 式是: #undef 已定义的符号名 注: #define 可以定义符号,但无法对符号进行赋值;
4.2 System.Console类
Console类的属性:如表4-2所示。 Console类的方法:如表4-3所示。
Console类的属性:表4-2
属性 Error In Out 属性描述 获取标准错误输出流 获取标准输入流 获取标准输出流
Console类的方法:表4-3
方法名 OpenStandardError OpenStanderdInput OpenStanderdOutput Read 已重载,获取标准错误流 已重载,获取标准输入流 已重载,获取标准输出流 从标准输入流读取下一个字符 描述
第4章 控制台应用程序设计
2013年9月20日
教wenku.baidu.com目标
本章主要介绍命名空间概念、定义及导入方 法,标准输入输出类System.Console类的 应用,System.Convert类的应用,C#程序 的基本结构,Main方法的定义方法及功能, 控制台应用程序的设计,命令行方式上机 操作等内容。通过本章的学习,读者将对 C#的框架有个初步的认识,能够完成控制 台应用程序的设计,熟悉命令行方式上机 操作。
代码,创建全局唯一的类型。它把多个类收集在一起 成为一组,便于组织代码,使自己的任务和他人提供 的代码库分离;避免类与类之间的名称冲突;还可以 提高编译速度。命名空间可以嵌套,从而分成层次。 多个源代码文件可以使用同一个命名空间。 ♣ 使用命名空间好处:一是可以使每个命名空间中的 类不至于过多,二是可以保证类名的唯一性。 免类与类之间的名称冲突。
4.1.1 namespace关键字
使用namespace关键字定义命名空间。 一个文件中可以有多个namespace语句。 即使未显式声明命名空间,也会创建默认 命名空间。 全局命名空间中的任何标识符都可用于命 名空间中。 namespace语句中包含的类可以使用 private或public修饰符,缺省为public。
4.1.1 namespace关键字

namespace语句对于源文件的存放位置 并无要求。编译器编译时也不对文件位置 做检查。 提示:最好使用单位的名称作为根命名 空间。 .Net Framework由许多命名空间组成,其 中最重要的是System。 .Net Framework类库常用的命名空间如下表 所示:
#define指令必须出现在文件内容的最前面。
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.7创建一个控制台应用程序
在Visual Studio 2005中创建一个控制台应用程序步骤是: (1) 启动Microsoft Visual Studio 2005。 (2) 选择【文件】|【新建】|【项目】。随后会打开【新建项 目】对话框。 (3) 在【模板】选项区域中选择【控制台应用程序】图标。 (4) 在【位置】文本框中输入项目文件的路径。 (5) 在【名称】文本框输入文件名或用默认的文件名。 (6) 确定已勾选了【创建解决方案的目录】选项,然后单击 【确定】按钮。
ReadLine
ReadKey SetError
从标准输入流读取下一行字符
获取用户按下的下一个字符或功能键,按下的键可以选 择显示在控制台窗口中 将Error属性设为指定的TextWriter对象
SetIn
SetOut
将In属性设置为指定的TextReader对象
将Out属性设置为指定的TextWriter对象,默认情况下 Out属性设置为标准输出流,可通过SetOut方法将此属 性设置为另一个流。 已重载,将指定的信息写入标准输出流,不换行 已重载,将指定的信息写入标准输出流,换行
4.6 C#程序结构
♣C#程序可由一个或多个文件组成。 ♣每个文件可包含一个或多个命名空间。 ♣一个命名空间除了可包含其他命名空间外,
还可包含class( 类)、struct( 结构)、 interface( 接口)、 enum( 枚举 )、 delegate( 代理或叫委派)等类型。下面给出 C#程序的框架,它可能包含所有这些元素。
4.7创建一个控制台应用程序
(7) 在显示了Program.cs文件【代码和文本编辑器】窗口 Main方法的大括号中输入你的源程序。 // Output text to the screen. Console.WriteLine("欢迎使用Visual Studio 2005开发C#程 序"); Console.ReadKey(); (8) 选择【生成】|【生成解决方案】,确定错误列表窗口没 有任何错误出现。如有错误,修改源程序,重新编译,直 到没有任何严重错误为止。该过程将编译项目中包括的所 有文件,编译结果显示在“输出”窗口中 ,如果结果显 示“生成: 1 已成功, 0 已失败, 0 已跳过”, (9) 选择【调试】|【开始执行(不调试)】,随后会打开一 个命令窗口,程序开始运行。
为了节约键入时间C#提供了using指示符。 using的作用是导入命名空间中的所有公开类。 using的语法格式是: using 命名空间的层次结构名称;
4.2 System.Console类
输入和输出是很多程序中常用的功能,也是非常 重要的功能,C#提供了功能强大的输入与输出 的控制。 Console类对从控制台读取字符并向控制台写入 字符的应用程序提供基本支持。如果控制台不存 在(在基于Windows的应用程序中就是这样), 则不显示向控制台的写入而且不会引发异常。
教学重点
命名空间概念的含义 namespace和using关键字使用 System.Console类的使用 System.Convert类的使用 Main方法 C#主要预处理指令的使用 C#程序的基本结构 控制台应用程序的设计
4.1 命名空间
♣命名空间是一组包含相关方法的相似类,专门用于避 ♣命名空间用来声明一个范围,可以在这个范围内组织
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)
Write WriteLine
示例:Ex4-1、 Ex4-2
4.3 System.Convert类
在C#的System命名空间中,有一个Convert (转换)类,该类提供了由字符串类型转 换为其他类型的一系列静态方法。 调用格式: Convert.静态方法名(字符串类型数据)
表4-4给出了Convert类的常用静态方法 。
System.Threading
System.Collections
包含用于多线程编程的类。
包含定义各种对象集的接口和类。
4.1.2 using关键字
.Net Framework类库以命名空间的形式 被组织成层次结构。 如同wingdows的目录结构,在使用其他命名空间中的类 时,需要写上完整的类名称,当类嵌套了几层时,就会产 生一些冗长的名称。例如:
表4-4 Convert类常用的静态方法
命 令 val 转换为 bool val 转换为 byte val 转换为 char val 转换为 decimal val 转换为 double val 转换为 short val 转换为 int val 转换为 long val 转换为 sbyte val 转换为 float val 转换为 string val 转换为 ushort val 转换为 uint val 转换为 ulong 结 果 Convert.ToBoolean(val) Convert.ToByte(val) Convert.ToChar(val) Convert.ToDecimal(val) Convert.ToDouble(val) Convert.ToInt16(val) Convert.ToInt32(val) Convert.ToInt64(val) Convert.ToSByte(val) Convert.ToSingle(val) Convert.ToString(val) Convert.ToUInt16(val) Convert.ToUInt32(val) Convert.ToUInt64(val)
4.1.1 namespace关键字
命名空间 System.Drawing System.Data System.IO System.Windows System.Reflection 说明 处理图形和绘图,包括打印。 处理数据存取和管理,在定义 ADO.NET 技术中扮 演重要角色。 管理对文件和流的同步和异步访问。 处理基于窗体的窗口的创建。 包含从程序集读取元数据的类。
示例:Ex4-4
4.4 Main方法
每一个应用程序都必须包含一个名称为Main 的方法,这个方法可以在任何一个类中定 义。具体在哪个类中包含这个方法是无关 紧要的。 在一个给定的应用程序中可以包含任意数量 的类,只要其中一个类包含名称为Main的 方法就可以了。另外,这个方法必须被定 义为“public”和“static”。
相关文档
最新文档