Ch01.C#语言概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 1-1-Hello.exe – 输出结果: Hello World!
1.4 C#程序的基本结构
C# 程序由一个或多个源文件组成 程序中声明类型,包含类、结构、接口、 枚举、委托等类型 类包含成员,例如字段、方法、属性和 事件等 在编译 C# 程序时,它们被物理地打包为 程序集。程序集通常具有文件扩展 名 .exe 或 .dll
Main方法声明 方法声明
方法一:不带参数,返回void。 static void Main() { //... } 方法二:不带参数,返回int。 static int Main() { //... return 0; } 方法三:带参数,返回void。 static void Main(string[] args) { //... } 方法四:带参数,返回int。 static int Main(string[] args) { //... return 0; }
Console.WriteLine(s.Pop()); //出栈,输出100 Console.WriteLine(s.Pop()); //出栈,输出10 Console.WriteLine(s.Pop()); //出栈,输出1 } } }
1.4.2 命名空间
为了有效地组织C#程序中的类型并保证其唯一性,C#引入了命名 空间的概念,从而最大限度地避免类型重名错误。 命名空间是一种逻辑组合。C#程序中类型由指示逻辑层次结构的 完全限定名(fully qualified name)描述。例如, CSharpBook.Chapter01.HelloWorld表示CSharpBook命名空间的子 命名空间Chapter01中的HelloWorld类 声明格式如下:
1.2 C#语言的编译和运行环境
C# 程序在 .NET Framework 上运行
– 公共语言运行库(Common Language Runtime, CLR) – 统一的类库(Framework Class Library,FCL)
源代码被编译为中间语言(Intermediate Language,IL) IL 代码与资源一起作为一种称为程序集的 可执行文件存储在磁盘上,通常具有的扩 展名为 .exe (应用程序)或 .dll(库)
4
第1章 C#语言概述 章 语言概述
C#语言及其特点 语言及其特点 C#语言的编译和运行环境 语言的编译和运行环境 C#程序的创建、编译和运行 程序的创建、 程序的创建 C#程序的基本结构 程序的基本结构 命名空间 命名空间 Main方法与命令行参数 方法与命令行参数 C#注释与 注释与XML文档注释 注释与 文档注释
图1-1 C# 源代码的编译运行环境
1.2.3 C#的开发环境
使用文本编辑器(如Notepad)编写代码, 并使用.NET Framework中的编译器进行 编译、运行 使用微软集成开发工具(如Microsoft Visual Studio) 使用第三方提供的工具(如Turbo C#)
本教程开发运行环境
目 录(2 )
第2篇 .NET Framework类库基本应用 第15章 数值、日期和字符串处理 第16章 文件和流I/O 第17章 集合和数据结构 第18章 数据库访问 第3篇 C#.NET应用程序开发 第19章 Windows窗体应用程序源自文库第20章 WPF应用程序 第21章 ASP.NET Web应用程序
C#程序结构
using System; //引用命名空间 namespace YourNamespace //命名空间 { class YourClass //类 { } struct YourStruct //结构 { } interface IYourInterface //接口 { } delegate int YourDelegate(); //委托 enum YourEnum //枚举 { } namespace YourNestedNamespace //嵌套的命名空间 { struct YourStruct //结构 { } } class YourMainClass //类 { static void Main(string[] args) //main主程序 { // Your program starts here... //程序体 } } }
1.1 C#语言概述
C#语言简介
– C#(C Sharp)是一种简洁、类型安全的面 向对象的编程语言 – C# 采用花括号({和})语法 – Visual Studio .NET 2008/.NET Framework 3.5/C#3.0语言
C#特点和开发应用范围
– 现代的、面向对象的、类型安全的 – 主要构建在 .NET Framework 上运行的各种 安全、可靠的应用程序
– namespace 命名空间名称;
一个源程序文件中可以包含多个命名空间;同一命名空间可以在 多个源程序文件中定义。命名空间可以嵌套。同一命名空间中不 允许定义重名的类型 访问命名空间:<Namespace>[.<Subnamespace>].类型 命名空间别名:using 别名 = 命名空间或类型名;
命令行参数
Main方法的参数是表示命令行参数的 String数组 通过测试args.Length属性来检查参数是否 存在,args[0]表示第一个参数,args[1]表 示第二个参数,依次类推 可以使用for语句或foreach语句循环访问 命令行参数字符串数组 【例1.10】命令行参数示例:输出命令行 】 参数个数以及各参数内容
Main返回值 返回值
Main方法可以是void类型,也可以返回整型值 int 【例1.11】Main返回值示例:如果不带命令行 】 参数,则给出相应的提示;否则,输出命令行 参数信息 可以使用批处理文件调用前面的代码示例所生 成的可执行文件1-11-MainRVTest.exe:如果没 有输入参数,则执行失败,并给出提示信息; 如果输入参数,则执行成功,并输出命令行参 数信息
1.4.4 Main方法
C#的可执行程序必须包含一个Main方法, 用于控制程序的开始和结束 如果有多个Main方法,编译器就会返回 一个错误。但是,可以使用/main选项, 其后跟Main()方法所属类的全名(包括命 名空间),明确告诉编译器把哪个方法 作为程序的入口点 【例1.9】Main方法编译选项示例 】
【例1.2】 】
在CSharpBook.Chapter01的命名空间中声明一个名为 Stack 的类。Stack实现FILO (先进后出)的堆栈功能 public object Pop() // 出栈 // Chapter01\1-2-Stack.cs { //异常处理 // compile:csc /t:library 1-2-Stack.cs --> if (top == null) throw new 1-2-Stack.dll InvalidOperationException(); using System; object result = top.data; // 获取堆栈顶端数据 namespace CSharpBook.Chapter01 top = top.next; { return result; public class Stack } { class Entry Entry top; { public void Push(object data) public Entry next; { // 进栈 public object data; top = new Entry(top, data); public Entry(Entry next, object data) } { this.next = next; this.data = data; } } csc /t:library 1-2-Stack.cs } 编译产生一个名为1-2-Stack.dll的库
– 【例1.5】命名空间别名的使用示例 】
全局命名空间:使用全局命名空间限定符global::
– 【例1.6】全局命名空间的使用示例 】
命名空间举例:【例1.7】命名空间示例 【 】
1.4.3 类和对象
C#程序主要由.NET Framework类库中定义的类型和用 户自定义类型组成 C#类型包含类、结构、接口、枚举、委托等 类(class)是最基础的C#类型。类是一个数据结构, 将状态(字段)和操作(方法和其他函数成员)组合 在一个单元中 可以使用new运算符创建类的实例对象,通过调用对象 的方法进行各种操作,实现应用程序的不同功能 【例1.8】类和对象示例(定义平面点坐标) 】
3

附录篇 附录A 附录B 附录C 附录D 附录E 附录F 附录G 附录H 附录I
录(3 )
.NET Framework概述 C#编译器和预处理器指令 Visual Studio简介 C#3.0关键字 控制台I/O和格式化字符串 XML文档注释 SQL Server Express范例数据库 ASCII码表 程序集、应用程序域和反射
1.3.2 代码分析
采用花括号({和})语法 以分号(;)结束 // … … :单行注释 using System:引用 System 命名空间 大小写敏感
1.3.3 编译和运行结果
csc 1-1-Hello.cs
– 产生一个名为 1-1-Hello.exe 的可执行程序集
运行应用程序
(1)Windows XP SP2 (2)Microsoft Internet Explorer 6.0 SP1 (3)Microsoft .NET Framework 3.5版 (4)Microsoft Visual Studio 2008 Professional Edition (5)Microsoft SQL Server 2005 Express Edition
C#.NET程序设计

录(1 )
第1篇 C#.NET面向对象程序设计语言的基础知识 第1章 C#语言概述 第2章 数据类型、变量和常量 第3章 语句、运算符和表达式 第4章 程序流程和异常处理 第5章 数组和指针 第6章 类和对象 第7章 类成员 第8章 继承和多态 第9章 委托和事件 第10章 结构和枚举 第11章 泛型 第12章 特性(Attribute) 第13章 语言集成查询(LINQ) 2 第14章 多线程编程技术
1.3 创建简单的C#程序
【例1.1】“Hello, world”程序。 】 01 // Chapter01\1-1-Hello.cs A "Hello World!" program 02 // compile:csc 1-1-Hello.cs -> 1-1-Hello.exe 03 using System; 04 namespace CSharpBook.Chapter01 05 { 06 class HelloWorld 07 { 08 static void Main() 09 { 10 Console.WriteLine("Hello World!"); 11 } 12 } 13 }
【例1.3】 】
在CSharpBook.Chapter01的命名空间中声明一 个名为StackTest的类,测试例1.2中的Stack类
// Chapter01\1-3-StackTest.cs // compile:csc /r:1-2-Stack.dll 1-3StackTest.cs -> 1-3-StackTest.exe using System; using CSharpBook.Chapter01; namespace CSharpBook.Chapter01 { class StackTest { static void Main() { Stack s = new Stack(); s.Push(1); //1进栈 s.Push(10); //10进栈 s.Push(100); //100进栈
相关文档
最新文档