简单的类型问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 20:03:41
int a=5;
a= b;
b= 6;
问a=多少?
其中box和unbox都在那里怎么进行的?
答得好的50分送上!
object b;

没看到B在哪里申明没法做!
要么这个题就是错误滴!

补充:
还是没法做撒!
如果b是属性的话那么赋值给a的时候为null

如果是局部变量的话!那么没有初始值编译都过不
去!

我可是按着问题来回答的!坚决不说废话!

object a;
int b = 5;
a = b; //box

int c = (int)a; //unbox

将值类型装到引用类型中时进行装箱,将值取出来的时候强行转换为原来的类型,这个地方是拆箱。

装箱拆箱在性能上有一定损耗,拆箱的时候要进行类型转换,将面临类型不安全的问题。

呵呵,我来回答你
这三条是错的,首先b没有被定义
如果上面有 int b; 这句的话,那么a的值为null
因为b只是被定义,没有被赋值,如果上面有int b=0;的话
那么a=0
box和unbox是装箱和拆箱的操作
这就要牵扯到引用类型和值类型的问题了
object。类类型和数组以及ref的是属于引用类型
int,string之类的是值类型
当把值类型的转换为引用类型时就是装箱操作,反之则是拆箱操作,
ArrayList是数组集合,当往里面添加元素时执行的是装箱,取值的时候执行的是拆箱

b都没有定义,即使定义也要先赋值才能在表达式中使用

box和unbox一般都是不同类型的转换