c#基础一 c#语言发展及其简介
c#语言发展及其简介
c#语言发展历史:
2000年,c#语言诞生。
2003年,c#语言规范1.2,vs2003,NET Framework1.1。vs2003使用的是C#1.2。
2005年,c#语言规范2.0,vs2005,NET Framework2.0。vs2005使用的是C#2.0,不支持SQL Serve2008
2006年,发布NET Framework3.0。
2007年,c#语言规范3.0,vs2008,NET Framework3.5。vs2008使用的是C#3.0。
2008年,vs2008SP1,NET Framework3.5SP1。
c#与c++比较:
| 项目 | c++ | c# |
| 编译目标 | 直接编译为本地代码 | 编译为中间语言(IL)执行时再通过JIT(Just-in-time)编译器将需要的模块编译为本地代码 |
| 内存管理 | 显示删除动态分配给堆的内存 | 垃圾回收机制在合适的时机回收不再使用的内存 |
| 指针 | 容易引起内存泄露 | 使用对类实例的引用,也可以在非类型安全状态下也可以使用指针。 |
| 字符串处理 | 字符串作为一种基本数据类型来对待,比c++对字符串的处理简单的多 | |
| 继承 | 允许类的多继承 | 只允许类的单继承,通过接口实现多继承 |
c#与java比较:
| 项目 | c# | Java |
| 运行环境 | 可在具有CLR的平台上运行 | 可在具有JVM的平台上运行 |
| 完全面向对象 | 是 | 是 |
| 多重继承 | 不支持 | 不支持 |
| 内存管理 | 使用垃圾回收机制 | 使用垃圾回收机制 |
| 异常处理 | try-catch-finally | try-catch-finally |
| 指针 | 只能在非托管代码段内使用 | 不支持 |
| 类型安全性验证 | 强制类型验证 | 强制类型验证 |
| 命名空间 | 支持 | 支持 |
| 布尔值 | 只能为true或false | 只能为true或false |
| 变量初始化 | 不能使用未初始化的变量 | 不能使用未初始化的变量 |
| 中间语言处理 | 将MSIL转换为JIT机器码 | Java字节码 |
| 访问修饰符 | public、protected、private、internal、partial | public、protected、private、friendly |
| WebService | 支持 | 支持 |
命名空间:
只是一种逻辑上的划分,而不是物理上的存储分类。
using关键字的三个用途:
1、作为引用指令,用于为命名空间导入其他命名空间中定义的类型;2、作为别名指令,用于简化命名空间的表达形式,如: using System.Windows.Forms;可以表示为 using WinForm = System.Windows.Form;这样一来,语句 System.Windows.Form.MessageBox.Show("Hello");也可以简写为 WinForm.MessageBox.Show("Hello"); 3、作为语句,用于定义一个范围
c#命名规则:
(1)类名、方法名和属性名均使用Pascal命名法,即所有单词连写,每个单词的第一个字母大写,其他字母小写。例如:HelloWorld,GetData等。
(2)变量名、一般对象名、控件对象名以及方法的参数均使用Camel命名法,即所有单词连写,第一个单词全部小写,其他每个单词的第一个字母大写。例如:buttonName,buttonAge。
浙公网安备 33010602011771号