C#引用类型(class)和值类型(struct)
Posted 瘋孑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#引用类型(class)和值类型(struct)相关的知识,希望对你有一定的参考价值。
1. 值参数
当利用值向方法传递参数时,编译程序给实参的值做一份拷贝,并且将此拷贝传递给该方法。被调用的方法不传内存中实参的值,所以使用值参数时,可以保证实际值是安全的。
using System; class Test { static void Swap(int x,int y){ int temp=x; x=y; y=temp; } static void Main(){ int i=1,j=2; Swap(i,j); Console.WriteLine("i={0},j={1}",i,j); } }
i=1,j=2
2. 引用型参数
和值参不同的是,引用型参数并不开辟新的内存区域。当利用引用型参数向方法传递形参时,编译程序将把实际值在内存中的地址传递给方法。
using System; class Test { static void Swap(ref int x,ref int y){ int temp=x; x=y; y=temp; } static void Main(){ int i=1,j=2; Swap(ref i,ref j); Console.WriteLine("i={0},j={1}",i,j); } }
i=2,j=1
以上是关于C#引用类型(class)和值类型(struct)的主要内容,如果未能解决你的问题,请参考以下文章