拳击是指将值类型分配给对象类型.将引用类型分配给对象时是否相同?
当分配一个类型(不是对象)时,会发生什么?那拳击呢?
int num=5;
object obj = num; //boxing
//////////////////////
MyClass my = new MyClass();
object obj = my; //what is name this convert (whethere is boxing?)
Run Code Online (Sandbox Code Playgroud)
Eri*_*ert 21
拳击是指将值类型分配给对象类型.
关.当"拳击"发生值类型的值被转换到一个引用类型.
将引用类型的值赋给对象类型的变量时是否相同?
不会.当值类型的值转换为引用类型时,就会发生Boxing .将引用类型的值转换为对象不是装箱转换,它是引用转换.
当引用类型(不是对象)的值被赋给对象类型的变量时,会发生什么?
引用类型的值是引用.将引用分配给object类型的变量时,将在与该变量关联的存储位置中创建引用的副本.
那拳击呢?
不会.当值类型的值转换为引用类型时,就会发生Boxing .将引用类型的值转换为对象不是装箱转换,它是引用转换.
Hen*_*man 12
我认为你的意思是
string s = "hello";
object x = s; // no boxing, just implict conversion to base-type.
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为System.String像所有其他类一样,派生自System.Object:
public sealed class String : Object { ... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4446 次 |
| 最近记录: |