c#值类型,引用练习,ref,out
2014-07-08 00:30
225 查看
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
- 一看就懂:图解C#中的值类型、引用类型、栈、堆、ref、out
- 关于C#值类型,引用类型,值传递,引用传递(ref,out)
- C#中的ref,out,值类型,引用类型的笔记
- C#的值类型,引用类型,栈,堆,ref,out
- 图解C#的值类型,引用类型,栈,堆,ref,out
- C#引用类型参数加ref或out与不加ref或out的区别
- C#中引用类型做方法参数时,加ref或out,与不加ref或out到底有什么区别?
- C#基础精华02(静态类,值类型,引用类型,枚举,结构,ref与out)
- 图解C#的值类型,引用类型,栈,堆,ref,out
- C#基础精华02(静态类,值类型,引用类型,枚举,结构,ref与out)
- 图解C#的值类型,引用类型,栈,堆,ref,out
- 转:图解C#的值类型,引用类型,栈,堆,ref,out
- c# 值类型与引用类型 实参与形参 ref与out
- 图解C#的值类型,引用类型,栈,堆,ref,out
- C#程序员请不要混淆引用类型和ref引用传参
- C#的参数类型:params、out和ref
- c# 方法参数(传值,传引用,ref,out,params,可选参数,命名参数)
- 读<<CLR via C#>>总结(7) 以传引用的方式向方法传递参数---ref&out
- C#基础:值类型、引用类型与ref关键字