using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int i = 10;//值类型 int j = 10;//必须初始化 int k;//不需要初始化 int[] iarr = { 1, 2, 3, 4 };//引用类型 SetI(i);//值传递 SetS(iarr);//引用传递 SetSI(ref j);//ref SetOI(out k);//out Console.WriteLine(i);//输出10 Console.WriteLine(iarr[0]);//输出100 Console.WriteLine(j);//输出20 Console.WriteLine(k);//输出100 Console.ReadKey(); } //值类型不会改变原来的值(创建一个新的副本)【值传递】 static void SetI(int i) { i = 20; } //引用类型,会改变原来的值【引用传递】 static void SetS(int[] i) { i[0] = 100; } //值传递,使用ref迫使使用引用传递,会改变原始的值 static void SetSI(ref int j) { j = 20; } static void SetOI(out int k) { k = 100; } } }
c#值类型,引用练习,ref,out
原创1473348968 博主文章分类:我的C#4.0之旅---精通 ©著作权
©著作权归作者所有:来自51CTO博客作者1473348968的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:asp.net 做文字水印
下一篇:构造函数初始化器
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C# ref与out
0,ref是传递的地址,out是返回值
C# out ref C# ref与out -
[C#]浅析ref、out参数
转载把按引用传
C# ref out 引用类型 Code -
值类型+引用类型+ref
用实例看一下值类型,引用类型和ref参数的区别。
职场 class struct ref 休闲 -
C# 引用类型、值类型
CLR支持两种类型:引用类型和值类型,它们的区别是在内存分配方式上的差异:引用类
C# 引用类型 值类型 拆箱