C# 结构体与接口详解
1. 结构体作为值类型
结构体是值类型,在传递给函数时按值传递。以下是一个示例:
Location loc1 = new Location(200,300);
Console.WriteLine("Loc1 location: {0}", loc1);
这里, WriteLine 方法期望一个对象,但 Location 是结构体(值类型)。编译器会自动将结构体装箱为对象,这个过程称为装箱。为避免装箱,可以直接调用 ToString 方法:
Console.WriteLine("Loc1 location: {0}", loc1.ToString( ));
当结构体作为值对象传递给函数时,会在函数内创建一个副本。例如:
t.myFunc(loc1);
在 myFunc 中对 x 和 y 赋值新值,在调用函数 Main 中再次输出 loc1 的值时,其值不会改变。
如果将 Location 的声明改为类:
超级会员免费看
订阅专栏 解锁全文
2237

被折叠的 条评论
为什么被折叠?



