.NET Framework 结构定义
示例
结构从System.ValueType继承,是值类型,并存在于堆栈中。当值类型作为参数传递时,它们按值传递。
Struct MyStruct { public int x; public int y; }
传递值表示对方法复制参数的值,并且在方法中对参数所做的任何更改都不会反映在方法外部。例如,考虑以下代码,该代码调用名为方法的方法AddNumbers,并传入类型为的变量a和和b,它们是intValue类型。
int a = 5; int b = 6; AddNumbers(a,b); public AddNumbers(int x, int y) { int z = x + y; //z变成11 x = x + 5; //现在我们将x更改为10 z = x + y; //现在z变成16 }
尽管我们加入5到x里面的方法,价值a保持不变,因为它是一个值类型,这意味着x是一个副本的a的价值,但实际上没有a。
请记住,值类型存在于堆栈中,并按值传递。