当前位置:文档之家› CSharp教程

CSharp教程


1.3.3 文件结构
➢ 一个应用程序由一个或者多个类组成。 ➢ 任何一个程序功能都必须封装在某个类中。 ➢ 一个应用程序可以由一个文件组成,也可以有多个文件组成,
文件名可以和类名相同,也可以不同。 建议:每个类一个文件,文件名最好和类名相同。 ➢ C#源程序文件的扩展名为.cs,一个源文件中可以有一个类, 也可以有多个类 。 ➢ 类中的每一个方法都要有一个返回值,对于没有返回值的方 法,可以声明返回值为void。 ➢ 如果在类的定义中加上partial修饰符,也可以把一个类分散保 存到多个文件中,编译器在编译时会将具有相同名称的类自 动组合到一起。
NET Framework 3.5。
2008年,微软发布了Visual Studio 2008 SP1以及.NET Fram ework 3.5 SP1。
Visual Studio 2008
➢ Visual Studio 2008 的各个版本
➢ VS2008 Team版本
用于大型团队开发
➢ VS2008 Professional版本 用于大中型软件公司
➢ 指针:C++大量使用指针,易引起内存泄露;C#可以不使 用指针。
➢ 字符串处理:在C#中,字符串是作为一种基本数据类型来 对待的,简单方便。
➢ 继承:C++允许类的多继承;C#仅允许单继承,接口可以 实现多继承。
1.1.3 C#语言与其他语言的比较(续2)
2 C#与Java的对比
项目 运行环境
class HelloName
{ private string s = "张三"; private int i = 5; public HelloName() { Console.WriteLine("hello {0},I have {1} books!", s, i); }
} class HelloMe {
公共语言运行库
➢ 公共语言运行库(Common Language Runtime,CLR) ➢ 托管代码与非托管代码 ➢ 凡是使用符合公共语言规范的程序语言开发的程序,均可以
在任何安装有CLR的操作系统中执行。 ➢ 使用.NET提供的编译器可以直接将源程序编译为.EXE或者.
DLL文件,但是编译出来的程序代码并不是CPU能直接执行的 机器代码,而是一种中间语言(IL: Intermediate Langua ge)代码。
003使用的是C#1.2。 ☆ 2005年,微软发布了C#语言规范2.0(简称C#2.0),VS2005使
用的是C#2.0。 ☆ 2007年,微软发布了C#语言规范3.0(简称C#3.0),VS2008使
用的是C#3.0。
1.1.3 C#语言与其他语言的比较
1 C#与C++的对比 2 C#与Java的对比
1.1.3 C#语言与其他语言的比较(续1)
1 C#与C++的对比
➢ 编译目标:C++直接编译为本地代码;C#编译为中间语言 (IL)代码,执行时通过JIT(Just-In-Time)临时编译为本 地代码。
➢ 内存管理:C++需要显式删除动态分配给堆的内存;C#采 用垃圾回收机制自动在合适的时机回收不再使用的内存。
1.3.1 命名空间
1. 命名空间:是对类的一种划分形式,类似于目录和 文件的划分形式 。
命名空间
……
命名空间
命名空间 命名空间 命名空间
命名空间
命名空间 命名空间 类类类
…………………………
using关键字
在C#中,using关键字有3个用途 (1)指定引用的命名空间,例如: using System.Windows.Forms; (2)简化命名空间的层次表达形式,例如: using WinForm=System.Windows.Form; (3)作为语句,定义一个范围。例如: Font font1 = new Font("Arial", 10.0f); using (font1) {… } 程序执行到“}”时,就会自动释放font1对象。
private string s = "王五"; private int i = 10; public HelloMe() {
Console.WriteLine("hello {0},I have {1} books!", s, i); } public void Welcome() { i = 11;
C# 可在具有CLR的平台上运行
完全面向对象

多重继承
不支持
内存管理 异常处理 指针
使用垃圾回收机制管理内存 try-catch-finally 只能在非托管的代码段内使用
类型安全性验证
强制类型验证
命名空间 布尔值 变量初始化
支持 只能为true或者false 不能使用未初始化的变量
中间语言处理 访问修饰符 Web Service
public、protected、private、friendly 支持
1.2 VS开发环境的功能和特点
一种框架,多种语言
框架:类似于Java的虚拟机,但在内部实现上与Java相比 有本质区别,不是字节码,速度比Java快。
语言:支持C#、C++、VB、J#
Visual Studio工具发展阶段
将MSIL转换为JIT机器码
public 、 protected 、 private 、 internal 、 partial
支持
Java 可在具有JVM的平台上运行 是 不支持 使用垃圾回收机制管理内存 try-catch-finally 不支持 强制类型验证 支持 只能为true或者false 不能使用未初始化的变量 Java字节码
➢ VS2008 Standard版本
用于小型软件公司
➢ VS2008 Express版本
用于业余开发者(免费)
➢ 本课的上机实验环境:
VS2008 Professional SP1(4.6GB)
1.2.1 Framework
Framework(简称.NET框架)是生成和运行.NET 应用程序和Web Service的组件库。 .NET框架包括两个主要组件:
➢ Visual Studio
2003年,微软发布了Visual 2003(简称 2003)和.NET Framework 1.1。
2005年,微软发布了Visual Studio 2005(简称VS2005)和.N ET Framework 2.0。
2006年,微软发布了.NET Framework 3.0。 2007年,微软发布了Visual Studio 2008(简称VS2008)以及.
运行库(续)
➢ 使用中间语言代码的好处 (1)可以实现平台无关性,即与特定的CPU无关 (2)可以实现不同语言之间的交互
➢ 在.exe文件被调用执行时,CLR的Class Loader会将需要的 IL代码装入内存,然后再通过即时编译(Just-In-Time) 方式将其临时编译成所用平台的CPU可直接执行的机器代码。
➢ 公共语言运行库(简称运行库)。 ➢ 类库。 .NET框架的特点:一种框架、多种语言。 .NET框架支持的语言有:除了基于.NET框架的C#语言、 语言、C++.NET语言以及和Java语言语法完全相同的J#语言外, 还有基于.NET框架的FORTRAN语言、Pascal语言、COBOL语言、 PERL语言、Python语言和Eiffel语言等其他高级语言。
第1章 概述
1.1 C#语言及其发展简介 1.2 Visual Studio开发环境的功能和特点 1.3 C#应用程序的一般结构 1.4 断点设置与程序调试
1.1 C#语言及其发展简介
1.1.1 C#语言的特点
C#语言的特点如下: ☆简洁的语法。与Java类似,使用统一的操作符。 ☆精心的面向对象设计。
类库
➢ 类库(Class Library)是一个与公共语言运行库紧密集 成的可重用的类的集合。
➢ 类库提供了Internet和企业级开发所需要的各种功能,完 全支持Web标准及其应用,而且使用简单,扩充方便。
➢ 类库分配到不同的命名空间下。
1.2.2 应用程序模板
VS2008中提供的常用应用程序模板:
控制台C#程序举例
// 这是最简单的C#程序 // 练习怎样创建和运行C#程序 using System; class FirstProgram {
// 程序入口 public static void Main (string [ ] args ) { // 调用System.Console类的方法WriteLine
➢ 控制台应用程序。 ➢ Windows应用程序。 ➢ Web应用程序。 ➢ Web服务应用程序。 ➢ 智能设备应用程序。 ➢ 安装和部署应用程序。
开始运行
起始页
新建项目
控制台和Windows应用程序
新建控制台应用程序
新建Windows应用程序
打开项目
获取帮助
✓ 封装、继承、多态性等特征。 ✓ 每种类型都是一个对象,不存在全局函数、全局变量等
概念,所有变量、常量、属性、方法、索引等都必须封 装在类中。
☆与Web的紧密结合。 ☆安全的安全性与错误处理。 ☆版本处理技术。 ☆灵活性和兼容性。
1.1.2 C#语言的发展历程
☆ 2000年,C#语言诞生。 ☆ 2003年,微软发布了C#语言规范1.2(简称C#1.2), 2
Console.WriteLine("hi I have {0} books", i); }
}
对C#应用程序的几点说明
➢ 使用using关键字指明引用的命名空间。 ➢ 使用namespace关键字声明命名空间。 ➢ 使用class关键字声明类,类中包含了程序所要用到的数据
相关主题