首页 > 代码库 > C# ref 和out 的简单区别
C# ref 和out 的简单区别
1 class Program 2 { 3 //ref 和out类似c++指针,当然也不能拿来直接当指针用,是能引用一些参数,但是不能直接作为地址来控制参数(大概意思) 4 static void Main(string[] args) 5 { 6 int a, b; 7 OutTest(out a, out b); 8 Console.WriteLine("a={0},b={1}",a,b); 9 //output a = 1;b = 2;10 11 int c = 11, d = 22;12 OutTest(out c, out d);13 Console.WriteLine("a={0},b={1}", a, b);14 //output c = 1;d = 2;15 16 int m = 11, n = 22;17 //RefTest(ref m, ref n);18 RefTest(ref m, ref n);19 Console.WriteLine("m={0},n={1}", m, n);20 //output m = 22;n = 11;21 22 Swap(m, n);23 Console.WriteLine("m={0},n={1}", m, n);24 //output m = 22;n = 11;25 }26 27 static void OutTest(out int x, out int y)28 {29 //方法体外可以不用对传出参数赋值30 //方法体内,必须对传出的参数赋值,否则报错,例如:x=y;31 //适用于多个返回值的函数32 x = 1;33 y = 2;34 }35 36 static void RefTest(ref int x, ref int y)37 {38 39 //方法体外,必须对参数赋值,否则报错40 //方法体内,ref对参数可以赋值也可以不赋值41 //适合引用原值,并对原值修改42 int temp = x;43 x = y;44 y = temp;45 }46 47 static void Swap(int a, int b)48 {49 int temp = a;50 a = b;51 b = temp;52 }53 }
C# ref 和out 的简单区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。