亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

asp.net(c#)ref,out ,params的區別

2024-07-10 13:18:24
字體:
來源:轉載
供稿:網友
NO.1 params
一個可以讓方法(函數)的擁有可變參數的關鍵字。
原則:在方法聲明中的 params 關鍵字之后不允許任何其他參數,并且在方法聲明中只允許一個 params 關鍵字。
示例(拷貝到vs2005中即可用,下面不再說明)

復制代碼 代碼如下:


public partial class Form1 : Form
{
public static void UseParams(params int[] list)
{
string temp = "";
for (int i = 0; i < list.Length; i++)
temp = temp +" " +list[i].ToString();
MessageBox.Show(temp);
}
public static void UseParams2(params object[] list)
{
string temp = "";
for (int i = 0; i < list.Length; i++)
temp = temp + " " + list[i].ToString();
MessageBox.Show(temp);
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
UseParams(1, 2, 3);//看參數是3個
UseParams(1, 2); //看參數是2個,可變吧
UseParams2(1, 'a', "test");
int[] myarray = new int[3] { 10, 11, 12 };
UseParams(myarray); //看也可以是容器類,可變吧:)
}
}


NO.2 out
這是一個引用傳遞L。
原則一:當一個方法(函數)在使用out作為參數時,在方法中(函數)對out參數所做的任何更改都將反映在該變量中。
原則二:當希望方法返回多個值時,聲明 out 方法非常有用。使用 out 參數的方法仍然可以返回一個值。一個方法可以有一個以上的 out 參數。
原則三:若要使用 out 參數,必須將參數作為 out 參數顯式傳遞到方法。out 參數的值不會傳遞到 out 參數。
原則四:不必初始化作為 out 參數傳遞的變量,因為out 參數在進入方法(函數)時后清空自己,使自己變成一個干凈的參數,也因為這個原因必須在方法返回之前為 out 參數賦值(只有地址沒有值的參數是不能被.net接受的)。
原則五:屬性不是變量,不能作為 out 參數傳遞。
原則六:如果兩個方法的聲明僅在 out 的使用方面不同,則會發生重載。不過,無法定義僅在 ref 和 out 方面不同的重載。例如,以下重載聲明是有效的:

復制代碼 代碼如下:


class MyClass
{
public void MyMethod(int i) {i = 10;}
public void MyMethod(out int i) {i = 10;}
}


而以下重載聲明是無效的:

復制代碼 代碼如下:


class MyClass
{
public void MyMethod(out int i) {i = 10;}
public void MyMethod(ref int i) {i = 10;}
}


有關傳遞數組的信息,請參見使用 ref 和 out 傳遞數組。
示例附后
NO.2 ref
ref僅僅是一個地址?。?!
原則一:當一個方法(函數)在使用ref作為參數時,在方法中(函數)對ref參數所做的任何更改都將反映在該變量中。
原則二:調用方法時,在方法中對參數所做的任何更改都將反映在該變量中。
原則三:若要使用 ref 參數,必須將參數作為 ref 參數顯式傳遞到方法。ref 參數的值可以被傳遞到 ref 參數。
原則四:ref參數傳遞的變量必須初始化,因為ref參數在進入方法(函數)時后還是它自己,它這個地址指向的還是原來的值,也因為這個原因ref參數也可以在使用它的方法內部不操作。
原則六:如果兩種方法的聲明僅在它們對 ref 的使用方面不同,則將出現重載。但是,無法定義僅在 ref 和 out 方面不同的重載。例如,以下重載聲明是有效的:

復制代碼 代碼如下:


class MyClass
{
public void MyMethod(int i) {i = 10;}
public void MyMethod(ref int i) {i = 10;}
}


但以下重載聲明是無效的:

復制代碼 代碼如下:


class MyClass
{
public void MyMethod(out int i) {i = 10;}
public void MyMethod(ref int i) {i = 10;}
}


有關傳遞數組的信息,請參見使用 ref 和 out 傳遞數組。
示例

復制代碼 代碼如下:


public static string TestOut(out string i)
{
i = "out b";
return "return value";
}
public static void TestRef(ref string i)
{
//改變參數
i = "ref b";
}
public static void TestNoRef(string refi)
{
// 不用改變任何東西,這個太明顯了
refi = "on c";
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string outi;//不需要初始化
MessageBox.Show(TestOut(out outi));//返回值
//輸出"return value";
MessageBox.Show(outi);//調用后的out參數
//輸出"out b";
string refi = "a"; // 必須初始化
TestRef(ref refi); // 調用參數
MessageBox.Show(refi);
//輸出"ref b";
TestNoRef(refi);//不使用ref
MessageBox.Show(refi);
//輸出"ref b";
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品免费在线视频| 日韩成人激情在线| 亚洲精品456在线播放狼人| 欧美国产亚洲视频| 久久久人成影片一区二区三区观看| 亚洲精品大尺度| 欧美做爰性生交视频| 亚洲电影第1页| 九九热精品视频| 日韩视频欧美视频| 九九精品视频在线观看| 亚洲视频777| 91精品视频观看| 国产精品久久久久久久久影视| 国模私拍视频一区| 黑人巨大精品欧美一区二区三区| 亚洲国产高清福利视频| 亚洲欧美一区二区三区四区| 国产免费观看久久黄| 精品久久久久久中文字幕大豆网| 国产网站欧美日韩免费精品在线观看| 日韩欧美有码在线| 国产精品久久久久久久久久东京| 久久免费国产视频| 亚洲黄在线观看| 欧美激情一区二区三级高清视频| 日韩中文字幕av| 日韩精品极品毛片系列视频| 蜜月aⅴ免费一区二区三区| 在线日韩日本国产亚洲| 国产精品欧美久久久| 欧美性猛交xxxx乱大交| 日韩av免费在线播放| 欧美中文字幕在线观看| 中文字幕一精品亚洲无线一区| 91欧美精品午夜性色福利在线| 91最新在线免费观看| 98精品国产高清在线xxxx天堂| 亚洲人成网站在线播| 亚洲国产精品yw在线观看| 午夜精品久久久久久久99黑人| 日韩视频在线免费观看| 欧美专区在线播放| 日韩精品一区二区三区第95| 欧美成人免费va影院高清| 一个人看的www欧美| 欧美日韩国产在线看| 欧美日韩aaaa| 国产免费一区二区三区在线观看| 成人国产精品久久久| 97在线精品国自产拍中文| 亚洲天堂av电影| 久久精品久久久久久| 欧美电影在线播放| 国模视频一区二区| 国产精品丝袜久久久久久不卡| 日韩电影第一页| 亚洲第一福利在线观看| 久久99久久99精品免观看粉嫩| 在线观看国产精品淫| 久久久久亚洲精品成人网小说| 97精品视频在线播放| 亚洲大胆美女视频| 亚洲一区中文字幕在线观看| 亚洲女人被黑人巨大进入al| 亚洲视频电影图片偷拍一区| 91国内免费在线视频| 午夜精品久久17c| 77777亚洲午夜久久多人| 欧美乱大交xxxxx| 久久这里有精品| 日韩一二三在线视频播| 亚洲深夜福利在线| 亚洲免费视频在线观看| 久99久在线视频| 狠狠色噜噜狠狠狠狠97| 日韩欧美在线网址| 九色精品美女在线| 91精品国产色综合| 欧美在线影院在线视频| 久久天天躁狠狠躁夜夜爽蜜月| 91精品久久久久久久久久入口| 海角国产乱辈乱精品视频| 日韩有码在线视频| 久久久中精品2020中文| 性欧美办公室18xxxxhd| 成人久久久久爱| 久久久久久尹人网香蕉| 2018中文字幕一区二区三区| 日韩av有码在线| 色偷偷91综合久久噜噜| 国产精品久久久久久亚洲影视| 日本精品免费观看| 亚洲aⅴ日韩av电影在线观看| 奇米4444一区二区三区| 最近2019年好看中文字幕视频| 久久91亚洲精品中文字幕| 欧美激情视频一区| 26uuu日韩精品一区二区| 久久久精品国产| 欧美精品久久久久久久久久| 97国产成人精品视频| 国产精品免费在线免费| 亚洲人成电影网站色xx| 久久精品亚洲94久久精品| 97国产精品久久| 欧美激情中文字幕乱码免费| 欧美日韩成人精品| 久久韩剧网电视剧| 亚洲天堂男人天堂女人天堂| 国产精品久久久久久久久男| 97国产suv精品一区二区62| 欧美黄色成人网| 久久国产精品影片| 亚洲国产99精品国自产| 国产精品日韩电影| 成人美女av在线直播| 久久天天躁夜夜躁狠狠躁2022| 亚洲v日韩v综合v精品v| wwwwwwww亚洲| 中文字幕免费精品一区| 欧美精品在线观看| 欧美激情小视频| 97视频在线观看网址| 欧美日韩亚洲精品一区二区三区| 国产精品人成电影| 亚洲精选中文字幕| 久久久国产精彩视频美女艺术照福利| 成人免费网视频| 亚洲欧洲偷拍精品| 亚洲人在线观看| 欧美成人中文字幕| 欧美大片欧美激情性色a∨久久| 欧美精品第一页在线播放| 亚洲黄色在线观看| 国产美女高潮久久白浆| 亚洲风情亚aⅴ在线发布| 美女精品久久久| 国产午夜精品全部视频在线播放| 亚洲人成在线一二| 日韩视频中文字幕| 午夜美女久久久久爽久久| 亚洲欧美日韩国产精品| 国产日韩欧美夫妻视频在线观看| 国产成人精品久久久| 国产不卡在线观看| 中文字幕日韩免费视频| 成人性生交大片免费观看嘿嘿视频| 国产在线观看91精品一区| 黑人精品xxx一区一二区| 精品毛片网大全| 日韩av在线最新| 久久久久www| 成人av.网址在线网站| 国产精品老牛影院在线观看| 91久久国产精品91久久性色| 日韩美女免费视频| 亚洲天堂男人的天堂| 国产精品久久精品| 欧美大码xxxx| 欧美中文字幕在线| 欧美精品亚州精品| 欧美黄色成人网| 伊人久久久久久久久久|