1、 抽象
当方法被声明为抽象的时,其所属的类也必须被声明为抽象的。
2、 Sealed类(密封类)
使用sealed,可以禁止类被继承。因为密封类不能被继承,因此,在将密封类的数据成员声明为protected时,编译器会发出警告。
3、 装箱(boxing)和拆箱(unboxing)
装箱指的是将值类型转换为引用类型(对象);拆箱指的是显式地将引用类型转换为值类型。被拆箱的值必须存储到相应的数据类型变量中。
4、 关键字is
关键字is用于确定变量是否为指定的类型。格式如下:
expression is type
expression的结果为引用类型,type是一种有效的类型。通常是类。
如果expression与type兼容,则返回true;否则返回false;
5、 关键字as
As运算符的功能与强制转换类似,将对象强制转换为另一种类型。目标类型必须与源类型兼容。格式如下
expression as DataType
as的功能与强制转换的区别:
l 使用强制转换时,如果出现问题,将引发异常。
l 使用as关键字时,如果源类型无法转换为目标类型,则首先将其值设置为null,然后再转换为目标类型,因此不会引发异常。
6、 可以继承使用其他语言编写的类吗?
可以。
.NET的特性之一便是,类可以从其他语言编写的类继承而来。这意味着C#类可以从使用其他语言编写的类派生而来。另外,其他语言的程序员也可以将C#类用作基类。
7、 何为强制向上转换(upcasting)和强制向下转换(downcasting)
强制向上转换指的是强制将对象转换为基类对象。
强制向下转换指的是将对象强制转换为其派生类对象。
在C#中,强制向上转换是安全的,是一种隐式操作;而强制向下转换是不安全的,要强制向下转换必须显示进行转换。
8、 格式说明符
常用格式说明符:
u 标准数字格式
u 格式化金额
u 格式化指数数值
u 格式化指数
u 创建自定义数字格式
u 格式化日期和时间
u 格式化枚举
使用格式说明符的方式:
u Write和WriteLine , 如Console.WriteLine(“{0:C}”, var) ;
u ToString ,如var.ToString(“C”);
u string数据类型的Format方法,如string.Format(“{0:C}”,var);