之前接手老项目的时候有遇到一些的方法参数中使用了ref关键字加在传参的参数前面的情况。对于新手,这里介绍和讲解一下ref的用法和实际效果。
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
class program { static void main(string[] args) { int testint = 10; console.writeline(testint); doref(ref testint); console.writeline(testint); donotref(testint); console.writeline(testint); console.readline(); } public static void doref(ref int txt) { txt = 10000000; } public static void donotref(int txt) { txt = 55555555; } } |
结果
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
class program
{ static void main(string[] args) { string testvalue = "origin"; console.writeline(testvalue); useref(ref testvalue); console.writeline(testvalue); notuseref(testvalue); console.writeline(testvalue); console.readline(); } public static void useref(ref string txt) { txt = "ref txt"; } public static void notuseref(string txt) { txt = "not ref txt"; } } |
结果
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
class program { static void main(string[] args) { testmodel t0 = new testmodel() { text = "test" }; console.writeline(t0.text); useref(ref t0); console.writeline(t0.text); notuseref(t0); console.writeline(t0.text); console.readline(); } public static void useref(ref testmodel tmodel) { tmodel.text = "use ref"; } public static void notuseref(testmodel tmodel) { tmodel.text = "not use ref"; } } public class testmodel { public string text { get; set; } } |
结果
如对本文有疑问, 点击进行留言回复!!
使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)
C#实现获取本地内网(局域网)和外网(公网)IP地址的方法分析
网友评论