A1: 编译器能直接支持的数据类型称为基元类型,基元类型直接映射到FCL中存在的类型,比如C#中int映射到System.Int32类型。
它们生成的IL是完全相同的,string可以被C#编译器直接映射到FCL中的System.String类型,换言之,C#编译器自动假定所有的源代码中都添加了这个命令:
类似的int和Int32, double和Double也都是一样的。
A5: 1)由于System.ValueType重写了Equals方法和GetHashCode方法,在定义自己的值类型时,也要重写这两个方法并提供它们的显式实现;2)所有方法都不能是虚方法。
Q6: SomeVal为一个struct,包含一个实例字段x, 以下代码有何不同?
联系客服