·NET Framework框架介绍
【一】 .NET Framework框架介绍
1.关于.Net Framework
.net Framework是由微软开发,一个致力于敏捷软件开发(Agile software development),快速应用开发(Rapid application development),平台无关性和网络透明化的软件开发平台。
2..Net Framework的组件
由公共语言运行时(Common Language Runtime 简称 CLR)和.Net Framework基类库(Framework Class Librily)组成。
.Net Framework类库分为 Web窗体和 Web SerVice
CLR分为 CLS(公共语言规范) 和 CTS(通用类型系统)
MISL微软中间语言 Microsoft Intermediate Language
3..Net 平台相关术语
| 缩写 | 全称 | 说明 |
| CLR | Common Language Runtime | 公共语言运行时 |
| FCL | Framework Class Libraray | .net 框架类库 |
| GC | Garbage Collector | 垃圾收集机制 |
| MSIL | Microsoft Intermediate Language | Microsoft中间语言 |
| CTS | Common Type Sysytem | 通用系统类型 |
| CLS | Common Language Spectification | 公共语言规范 |
| JIT | Just In Time | 即时编译 |
CTL最重要的特征是:所有类型都继承至公共的基类——Object。
4.C#与.NET 的关系
C#是一种简洁。类型安全的面向对象的语言,开发人员可以使用它来构建在.Net Framework上运行的各中安全、可靠地应用程序。
5.C#命名空间
C#中的类是用命名空间组织起来的。有以下要点:
.命名空间内的类型称为命名空间的成员
.一个源文件可以包含多个命名空间的声明
.引入命名空间的语法:Using命名空间名称
C#中常用的命名空间
| 命名空间 |
说明 |
| System |
包含基本类,这些类定义常用的值类型和引用数据类型、事件和事件处理程序、接口、属性和异常处理
|
|
System.Date
|
提供对表示ADO。NET结构的类的访问 |
|
System.Text |
包含表示ASCLL、Unicod/UTF-7和UTF-8字符串编码的类 |
|
System .Collections |
包含接口和类。这些接口和类定义各种对象 (如列表、队列、位数组、哈希表和字典)的集合。 |
|
System.IO |
用于操作文件的类 |
|
System.Threading |
提供一些使得可以进行多线程编程的类和集合 |
|
System.Net |
为当前网络上使用的多种协议提供了简单的编程接口 |
命名空间的名称的要点:
命名空间名称可以使任何有效标识符。
命名空间可以包含句点符号,用于吧命名空间组织成层次。
不要把命名空间命名成为与类或类型相同的名称。
命名空间声明需使用关键字namespace。语法如下:
namespace 命名空间的名称
{
//定义类
}
6.C#异常处理的分类:
1.语法错误
2.运行时错误
3.逻辑错误
7·C#中的异常
.NET提供了许多的预定义的异常类,我们也可以创建自己的异常类。这些处理异常的类都同在System命名空间内,且都直接或间接的派生自System.Exception类。
System .Exception 类的常用属性
| 属性 | 说明 |
| Message | 描述错误情况的文本 |
| Souce | 导致异常的应用程序或对象名 |
| StackTrace | 堆栈上方法调用信息,他有助于跟踪抛出的异常的方法 |
常用的异常类:
1.常见的异常类:
①SystemException类:该类表示.NET平台引发的异常,被称为系统异常,通常无法修复。
②ApplicationException类:该类表示应用程序发生非致命错误时引发的异常。
2.与参数有关的异常
①ArgumentException类:该类用于处理参数无效的异常。
②FormatException类:该类用于处理参数格式错误的异常。
3.数组有关的异常
①IndexOutOfException类:该类用于处理了下标超出了数组长度所引发的异常。
②ArrayTypeMismatchException类:该类用于处理数组中存储数据类型不正确的元素引发的的异常。
③RankExecption类:该类用于处理维数错误时所引发的异常类
4.于算数有关的异常
①ArithmeticException类:该类用于处理与算术有关的异常。
②DivideByZeroException类:表示试图除以零而引发的异常。
7.1)try和catch块
① try中编写可能出现的异常,如有异常就传到catch中进行处理
语法:
try
{
//可能出现的异常的程序的代码
}
catch(IndexOutOfException e)
{
//处理异常的代码
}
*注:这是数组下标越界的异常(IndexOutOfException)
②还有一种catch块几乎可以捕获所有的类型的异常,称为通用catch块
语法:
try
{
//可能引发的异常的程序代码
}
catch(Exception e)
{
//处理异常的代码
}
③多重catch代码
语法:
try
{
//可能引发的异常的程序代码
}
catch(IndexOutOfException el)
{
//处理异常的代码
}
catch(DivideByZeroException e2)
{
//处理异常的代码块
}
.............
*注:如果使用的是通用的catch块,那么有且只能有一个通用catch块。
7.2)finally块的使用
语法:
try
{
//可能引发的异常的代码块
}
catch(Exception e)
{
//处理异常的代码块
}
finally
{
//最终执行的代码
}
*注意一下编码规范:
请勿将try...catch块用于流程控制
不得声明空的catch块
避免在catch块中的嵌套try...catch
7.3)使用throw引发异常
使用throw语句既可以引发系统异常,也可以引发自定义异常
例:
//判断年龄范围
if(age<18 || age>30)
{
//引发自定义定义异常
throw new InputAgeException(age+"不是有效年龄(请输入18-30之间的数字)");
}
//程序中使用的自定义异常InputAgeException定义如下:
public class InputAgeExcecption:Exception
{
public InputAgeException(string message):base(message)
{
}
}
浙公网安备 33010602011771号