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

首頁 > 編程 > C# > 正文

參數修飾符ref,out ,params的區別

2023-05-09 18:58:21
字體:
來源:轉載
供稿:網友

params 關鍵字可以指定在參數數目可變處采用參數的方法參數。

在方法聲明中的 params 關鍵字之后不允許任何其他參數,并且在方法聲明中只允許一個 params 關鍵字。

示例

// cs_params.cs
using System;
public class MyClass
{

public static void UseParams(params int[] list)
{
 for ( int i = 0 ; i < list.Length ; i++ )
 Console.WriteLine(list[i]);
 Console.WriteLine();
}

public static void UseParams2(params object[] list)
{
for ( int i = 0 ; i < list.Length ; i++ )
Console.WriteLine(list[i]);
Console.WriteLine();
}

public static void Main()
{
UseParams(1, 2, 3);
UseParams2(1, 'a', "test");

int[] myarray = new int[3] {10,11,12};
UseParams(myarray);
}
}
輸出
1
2
3

1
a
test

10
11
12

===============================================

方法參數上的 out 方法參數關鍵字使方法引用傳遞到方法的同一個變量。當控制傳遞回調用方法時,在方法中對參數所做的任何更改都將反映在該變量中。

當希望方法返回多個值時,聲明 out 方法非常有用。使用 out 參數的方法仍然可以返回一個值。一個方法可以有一個以上的 out 參數。

若要使用 out 參數,必須將參數作為 out 參數顯式傳遞到方法。out 參數的值不會傳遞到 out 參數。
不必初始化作為 out 參數傳遞的變量。然而,必須在方法返回之前為 out 參數賦值。

屬性不是變量,不能作為 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 傳遞數組。

示例
// cs_out.cs
using System;
public class MyClass
{
public static int TestOut(out char i)
{
i = 'b';
return -1;
}

public static void Main()
{
char i; // variable need not be initialized
Console.WriteLine(TestOut(out i));
Console.WriteLine(i);
}
}
輸出
-1
b

========================================

方法參數上的 ref 方法參數關鍵字使方法引用傳遞到方法的同一個變量。當控制傳遞回調用方法時,在方法中對參數所做的任何更改都將反映在該變量中。

若要使用 ref 參數,必須將參數作為 ref 參數顯式傳遞到方法。ref 參數的值被傳遞到 ref 參數。

傳遞到 ref 參數的參數必須最先初始化。將此方法與 out 參數相比,后者的參數在傳遞到 out 參數之前不必顯式初始化。

屬性不是變量,不能作為 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 傳遞數組。
示例
// cs_ref.cs
using System;
public class MyClass
{
public static void TestRef(ref char i)
{
// The value of i will be changed in the calling method
i = 'b';
}

public static void TestNoRef(char i)
{
// The value of i will be unchanged in the calling method
i = 'c';
}

// This method passes a variable as a ref parameter; the value of the
// variable is changed after control passes back to this method.
// The same variable is passed as a value parameter; the value of the
// variable is unchanged after control is passed back to this method.
public static void Main()
{

char i = 'a'; // variable must be initialized
TestRef(ref i); // the arg must be passed as ref
Console.WriteLine(i);
TestNoRef(i);
Console.WriteLine(i);
}
}
輸出
b
b

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久天堂电影网| 78m国产成人精品视频| 成人av番号网| 久久精品久久精品亚洲人| 亚洲自拍小视频| 国产综合视频在线观看| 精品福利在线视频| 日韩欧美a级成人黄色| 久久久久亚洲精品| 国产一区视频在线播放| 国产精品日韩在线一区| 午夜精品一区二区三区在线视频| 国产精品丝袜白浆摸在线| 日韩在线免费高清视频| 91精品久久久久久久久青青| 日韩在线资源网| 亚洲男人天堂手机在线| 国产精品日韩一区| 中日韩美女免费视频网址在线观看| 欧美激情精品在线| 亚洲专区在线视频| 国模gogo一区二区大胆私拍| 疯狂做受xxxx欧美肥白少妇| 国产综合色香蕉精品| 欧美一级高清免费播放| 国产精品高清网站| 欧美日韩美女在线观看| 久久91超碰青草是什么| 亚洲国产成人精品电影| 亚洲电影免费观看高清完整版在线观看| 日韩在线观看免费av| 国内精久久久久久久久久人| 亚洲综合色av| 国产99久久精品一区二区永久免费| 欧美日韩国产精品| 在线观看国产成人av片| 国内免费精品永久在线视频| 正在播放亚洲1区| 国产成人精品日本亚洲专区61| 久久久久久久久久av| 欧美日韩xxx| 国产ts一区二区| 欧美午夜久久久| 欧美超级乱淫片喷水| 国产精品久久久久久av福利| 日韩成人xxxx| 久久精品久久久久电影| 日韩成人激情视频| 亚洲电影天堂av| 日韩亚洲精品视频| 国产精品视频资源| 亚洲人高潮女人毛茸茸| 亚洲大尺度美女在线| 国产99在线|中文| 国产精品久久久久一区二区| 在线观看精品国产视频| 人人爽久久涩噜噜噜网站| 51久久精品夜色国产麻豆| 韩国美女主播一区| 色一情一乱一区二区| 国产精品极品美女粉嫩高清在线| 97在线观看视频| 日韩免费观看av| 亚洲午夜性刺激影院| 久久精品视频在线| 日韩av中文字幕在线免费观看| 久久久综合免费视频| 国产亚洲一区二区精品| 清纯唯美日韩制服另类| 亚洲精品国产suv| 精品视频偷偷看在线观看| 欧美日韩国产成人在线观看| 久久久精品一区二区| 国产精品自产拍在线观看| 亚洲视频第一页| 日韩欧美在线观看视频| 国产丝袜高跟一区| 亚洲欧美制服丝袜| 97久久久免费福利网址| 91香蕉电影院| 国产日韩在线播放| 国产精品女主播视频| 日韩av手机在线看| 97超级碰在线看视频免费在线看| 国产精品久久久久久久久久久久久久| 欧美日韩精品在线观看| 欧美xxxx18性欧美| 成人h视频在线| 久久久噜噜噜久久中文字免| 欧美日本高清一区| 国产精品自拍偷拍| 国产日韩在线一区| 成人激情在线播放| 欧美电影免费在线观看| 成人激情视频网| 黄色成人av在线| 久久天天躁狠狠躁夜夜躁2014| 欧美多人爱爱视频网站| 97在线精品国自产拍中文| 欧美日韩国产专区| 欧美性高潮在线| 国产日韩欧美成人| 欧美激情一区二区三区久久久| 国产亚洲视频在线观看| 国产午夜精品免费一区二区三区| 伦伦影院午夜日韩欧美限制| 欧美性感美女h网站在线观看免费| 亚洲va欧美va在线观看| 久久影视电视剧免费网站| 亚洲女人天堂网| 97超级碰碰人国产在线观看| 久久99精品久久久久久噜噜| 国产中文欧美精品| 日韩av在线免费| 国产精品99蜜臀久久不卡二区| 国产精品中文字幕在线观看| 91中文字幕在线观看| 青青久久aⅴ北条麻妃| 久久成人18免费网站| 97热精品视频官网| 亚洲老司机av| 亚洲精品电影在线观看| 久久精品视频在线观看| 热久久这里只有精品| 欧美中文字幕在线观看| 国内精品久久影院| 亚洲丝袜av一区| 欧美一级免费视频| 日韩av有码在线| 日韩hd视频在线观看| 国产精品久久久久久久久免费| 亚洲男人天堂2024| 最近2019年好看中文字幕视频| 欧美精品在线免费播放| 国产精品伦子伦免费视频| 精品久久久在线观看| 久久国产精品久久久久久| 欧美视频13p| 精品中文字幕视频| 精品精品国产国产自在线| 亚洲自拍欧美色图| 国产精品一区二区在线| 91av网站在线播放| 欧美精品aaa| 亚洲第一精品久久忘忧草社区| 亚洲直播在线一区| 精品亚洲一区二区| 中文字幕久热精品在线视频| 亚洲精品99久久久久| 久久精品电影一区二区| 日韩一区在线视频| 狠狠色狠色综合曰曰| 高清欧美性猛交xxxx| 欧美激情视频三区| 亚洲情综合五月天| 精品日韩中文字幕| 欧美韩国理论所午夜片917电影| 日韩中文字幕视频在线观看| 国产精品一区二区三区毛片淫片| 欧美日本国产在线| 国产精品美女在线观看| 国产精品久久久av久久久| 欧美日本黄视频| 亚洲一区二区三区视频|