4.3命名空间
声明命名空间是编译器给类提供的名称转换机制,提供别名和完全名称的转换,可以减少打字量,增强代码可读性。不引用命名空间也是可以的,但是要输入类的完全名称
两个命名空间下别名相同
如果发现两个命名空间有一样的别名,编译器会报出错误信息,这种情况通过显式声明别名到底属于哪个命名空间消除这种情况
using Winellect
Winellect.Widget w=new Winellect.Widget;//消除和其他别名的冲突
创建一个命名空间
namespace X{
publice sealed class b{}//namespace相当于把每个类前面加上x.,声明里面的类属于这个命名空间
}
运行时的相互关系
栈内存从内存地址的高位向低位构建
线程创建时分配1M的栈内存
第五章.基元类型,引用类型,和值类型
5.1**基元类型**
编译器直接支持的数据类型,等同于System.Int32,有Int32/int两种别名
基元类型转换
在基元类型转换保证数据不丢失时,才允许隐式转换
Int32 i=32;
Int64 f=i;//发生隐式转换
Byte s=(int)i;//发生显式转换
123.ToString//把其他类型转换成“123”,这是Object类支持的方法
基元类型溢出
编译器自动检查是否溢出,在执行加减乘和类型装换时没有检查溢出
检查溢出时如果发现溢出就抛出错误
可以使用chack\unchack打开或关闭检查是否溢出