C#參數(shù)不同點簡單介紹
作者:佚名
這里介紹C#參數(shù)不同點,out的函數(shù)會清空變量,即使變量已經(jīng)賦值也不行,退出函數(shù)時所有out引用的變量都要賦值,ref引用的可以修改,也可以不修改。
C#參數(shù)還是比較常見的東西,這里我們主要介紹C#參數(shù)不同點,包括介紹使用ref前必須對變量賦值,out不用等方面。
ref是傳遞參數(shù)的地址,out是返回值,兩者有一定的相同之處,不過也有C#參數(shù)不同點。使用ref前必須對變量賦值,out不用。out的函數(shù)會清空變量,即使變量已經(jīng)賦值也不行,退出函數(shù)時所有out引用的變量都要賦值,ref引用的可以修改,也可以不修改。
C#參數(shù)不同點可以參看下面的代碼:
- using System;
- class TestApp
- {
- static void outTest(out int x, out int y)
- {//離開這個函數(shù)前,必須對x和y賦值,否則會報錯。
- //y = x;
- //上面這行會報錯,因為使用了out后,x和y都清空了,
需要重新賦值,即使調(diào)用函數(shù)前賦過值也不行- x = 1;
- y = 2;
- }
- static void refTest(ref int x, ref int y)
- {
- x = 1;
- y = x;
- }
- public static void Main()
- {
- //out test
- int a,b;
- //out使用前,變量可以不賦值
- outTest(out a, out b);
- Console.WriteLine("a={0};b={1}",a,b);
- int c=11,d=22;
- outTest(out c, out d);
- Console.WriteLine("c={0};d={1}",c,d);
- //ref test
- int m,n;
- //refTest(ref m, ref n);
- //上面這行會出錯,ref使用前,變量必須賦值
- int o=11,p=22;
- refTest(ref o, ref p);
- Console.WriteLine("o={0};p={1}",o,p);
- }
- }
以上介紹C#參數(shù)不同點
【編輯推薦】
責(zé)任編輯:佚名
來源:
賽迪網(wǎng)