第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求解,請問.net前面的參數(shù)out指的是什么?

求解,請問.net前面的參數(shù)out指的是什么?

慕的地6264312 2021-11-18 15:11:42
.net前面的參數(shù)out指的是什么?
查看完整描述

2 回答

?
互換的青春

TA貢獻(xiàn)1797條經(jīng)驗 獲得超6個贊

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



查看完整回答
反對 回復(fù) 2021-11-23
?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗 獲得超8個贊

out 關(guān)鍵字會導(dǎo)致參數(shù)通過引用來傳遞。這與 ref 關(guān)鍵字類似,不同之處在于 ref 要求變量必須在傳遞之前進(jìn)行初始化。若要使用 out 參數(shù),方法定義和調(diào)用方法都必須顯式使用 out 關(guān)鍵字。例如:class OutExample
{
static void Method(out int i)
{
i = 44;
}
static void Main()
{
int value;
Method(out value);
// value is now 44
}

盡管作為 out 參數(shù)傳遞的變量不需要在傳遞之前進(jìn)行初始化,但需要調(diào)用方法以便在方法返回之前賦值。

ref 和 out 關(guān)鍵字在運(yùn)行時的處理方式不同,但在編譯時的處理方式相同。因此,如果一個方法采用 ref 參數(shù),而另一個方法采用 out 參數(shù),則無法重載這兩個方法。但是,如果一個方法采用 ref 或 out 參數(shù),而另一個方法不采用這兩類參數(shù),則可以進(jìn)行重載。

示例:

當(dāng)希望方法返回多個值時,聲明 out 方法很有用。使用 out 參數(shù)的方法仍然可以將變量用作返回類型(請參見 return),但它還可以將一個或多個對象作為 out 參數(shù)返回給調(diào)用方法。此示例使用 out 在一個方法調(diào)用中返回三個變量。請注意,第三個參數(shù)所賦的值為 Null。這樣便允許方法有選擇地返回值。

class OutReturnExample
{
static void Method(out int i, out string s1, out string s2)
{
i = 44;
s1 = "I've been returned";
s2 = null;
}
static void Main()
{
int value;
string str1, str2;
Method(out value, out str1, out str2);
// value is now 44
// str1 is now "I've been returned"
// str2 is (still) null;
}
}



查看完整回答
反對 回復(fù) 2021-11-23
  • 2 回答
  • 0 關(guān)注
  • 600 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號