1樓:匿名使用者
可以理解為類似的傳址引用,同時還有out。
在函式需要外部傳入乙個變數名,然後在程式內部可以將這個值進行修改,典型的傳址引用!在定義時必要加ref或out說明!
public void methoda(out string s )
呼叫時,應該先宣告乙個字元變數。
string temp;
methoda(out temp);
此時可以列印temp的值會變作"1";
而ref與out基本是類同的,如果在程式中引用原值的話,必須使用ref防止傳入未初始化的值。
public void methodb(ref int s)
因為該函式要使用形參的原值,所以這裡必須使用ref宣告,不要使用out宣告。
使用時,
int temp = 8;
methodb(ref temp);
列印temp的值會變為64。
ref因為對原值進行了引用,所以ref要求傳入的一定是乙個初始化後的值,不能是未初始化的值。
int temp;
methodb(ref temp);
//原則上這樣是會錯的,但這裡我使用了乙個int,由於在宣告時int temp與int temp =0 是等價的,所以不會出錯,但如果是字串,使用這種方式完全是可以報錯的!因為string temp與string temp ="";是不等價的,你也可理解為必須賦值後才可以使用。
public void methodc(ref string s)
string temp;
methodc(ref temp);//這種就是錯誤的方式。ref要求必須形參已經賦值(初始化)。
string temp = "";
methodc(ref temp);//這種方式就是正確的。
我們定義成員方法時,如果有引用原值使用必須使用ref,防上對方傳入乙個未初始化的值,引發程式錯誤,而沒有必要對形參的值有要求時,則盡量使用out,防止呼叫時增加客戶端**量。
求神指點:定義類時加入描述符ref 如:public ref class { } 是什麼意思?
2樓:匿名使用者
這是c++ cli的用法
C中什麼意思C中是什麼意思
在賦值符 之前加上其它二目運算子可構成復合賦值符。如 構成復合賦值表示式的一般形式為 變數 雙目運算子 表示式 它等效於 變數 變數 運算子 表示式 例如 a 5 等價於a a 5x y 7 等價於x x y 7 r p 等價於r r p 復合賦值符這種寫法,對初學者可能不習慣,但十分有利於編譯處理...
c中10010是什麼意思,c中copychars是什麼意思
100的結果是除以100的餘數 10的結果是除以10的結果的整數部分 是求餘數 是除 這兩個運算是不一樣的,的優先順序稍微高於 但是屬於同一等級二目運算,運算規則是從左到右的 運算是整除取餘運算 比如1132整除100應該是得11餘數32132整除100則是得1,餘數也是32 千位上的1要算,但關鍵...
在c中是什麼意思,在c 中 符號代表什麼意思?
通用匹配府吧!好像寫路徑一樣 string index.html 像這個得話,在程式中應用是不行的。需要加個 如 或者是 string file string index.html 是取消字串中的轉意符。比如不加 的字串,a n c 會解釋成乙個 和乙個a再加乙個換行,如果加了 a n c 會解釋成...