摘要:
什么是箱 箱是指托管堆,装箱指在托管堆中将栈上的值类型进行封装,生成一份该值类型对象的副本,并返回该副本的地址。 而拆箱是返回已装箱值类型在托管堆中的地址(严格意义来讲:拆箱是不包括值类型字段的拷贝的) 值类型和引用类型是在不同的堆和栈上的,箱的操作,涉及数据的拷贝和内存的分配,所以引起性能的消耗 阅读全文
摘要:
析构函数 * 析构函数在对象所占用内存释放时调用,通常用来释放相关的资源 * 析构函数就是一个特殊的类成员函数,它是构造函数相反 构造函数:对象在分配内存之后,立即调用 析构函数:对象在内存被释放之前调用 例:~Person(); 不能加参数,不能被重载 拷贝构造函数 一个类对象向该类的另一个对象作拷贝是通过依次拷贝每个非静态数据成员来实现的 设计者也可以通过提供特殊的拷贝构造函数来改变缺省... 阅读全文
摘要:
点 (.) 如果变量是一个对象或者对象引用,则用它来访问对象成员. 箭头( ->) 如果变量是一个对象指针,则用它来访问对象成员. 双冒号 (::) 如果操作目标是一个具有名空间的标识符,则用它来访问其名空间内的东西.具有名空间的东西很多,除了纯粹的namespace外,正如你所知道的还有class 阅读全文
摘要:
ref out 相似 ref和out两个关键字的作用大致相同,但是有一些微妙但是重要的区别。 两者的行为相似到连编译器都认为这两者不能被重载:public void SampleMethod(out int i) { }public void SampleMethod(ref int i) { }以上重载在编译时将被抛出一个错误,编译器认为out和ref是同样的行为,但是事实上在行为上他们有区别... 阅读全文
摘要:
params,ref,out 方法参数 示例 在下面的方法使用中 OpenWindow(params object[] args) 传递的参数args添加了params修饰public void OpenWindow(params object[] args){ int id=args[0]; Hashtable tab=(Hashtable)args[1]; } public vo... 阅读全文