摘要:
装箱和拆箱:任何值类型、引用类型可以和object(对象)类型之间进行转换。装箱转换是指将一个值类型隐式或显式地转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)。把一个值类型的值装箱,就是创建一个object实例并将这个值复制给这个object,装箱后的object对象中的数据位于堆中,堆中的地址在栈中。被装箱的类型的值是作为一个拷... 阅读全文
posted @ 2006-10-16 14:11
伊凡
阅读(261)
评论(0)
推荐(0)
摘要:
目的 本文的目的在于揭示和DOTNET及C#相关的一些常见的和不常见的问题。在这些问题中我的第一篇文章和string数据类型有关,string数据类型是一种引用类型,但是当和其他引用类型比较的时候,很多开发人员可能并不能完全理解它的行为。 问题 对于常见的引用类型,当改变一个对象别名的值时,这种变化也同样会在一个实际的对象中表现出来;反之亦然。但是对于st... 阅读全文
posted @ 2006-10-16 14:07
伊凡
阅读(508)
评论(0)
推荐(0)
摘要:
说到参数传递,必须得弄清值类型和引用类型:(为了容易表达,我暂且命名存放在堆中的内容为堆中对象,存放在栈上的内容为栈中对象。)值类型存放在栈中,直接访问。如果有:int a=0;int b=a;就产生了两个栈中对象。引用类型需要在堆中显式分配,且不能直接访问,需要在栈中分配一个栈中对象(C++叫指针,C#叫引用)指向其堆中对象。如果:StringBuilder strb = new StringB... 阅读全文
posted @ 2006-10-16 13:51
伊凡
阅读(537)
评论(0)
推荐(0)
摘要:
类型介绍 在几乎所有的OOP语言中,都存在2种类型的值。 值类型 引用类型 以C#为例:其值类型为sbyte,byte,char,short,ushort,int,uint,long和ulong,float和double,当然还有decimal和bool。而引用类型则是string和object。 我想说的 我想说的就是——Ref和Out把我弄糊涂的原因是,当时没有认真的去分析它对不同类型... 阅读全文
posted @ 2006-10-16 13:45
伊凡
阅读(293)
评论(0)
推荐(0)
摘要:
readonly和const都是用来标识常量的[1]。 const可用于修饰class的field或者一个局部变量(local variable);而readonly仅仅用于修饰class的field。 const常量的值必定在编译时就已明确并且恒定的;而readonly常量却有一点不同,那就是其值可以在运行时编译,当然,它也必须遵守作为常量的约束,那就是值必须恒定不变。 const常量必... 阅读全文
posted @ 2006-10-16 13:36
伊凡
阅读(233)
评论(0)
推荐(0)
浙公网安备 33010602011771号