C中ref的作用是什麼,c 中ref到底有什麼作用

2021-05-14 07:06:46 字數 3878 閱讀 5440

1樓:匿名使用者

使用引來用傳遞

例如:自

public void huan(int a,int b)//下面是main程式

2樓:匿名使用者

class program

static void theotheroperation(out int result)

static void otheropearation(ref int result)

static void operation(int result)}

3樓:匿名使用者

方法抄引數上的 ref 方法bai引數關鍵字使方法引用傳遞到方法的同du

一個變數。當zhi控制傳遞**用方法時,dao在方法中對引數所做的任何更改都將反映在該變數中。 若要使用 ref 引數,必須將引數作為 ref 引數顯式傳遞到方法。

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

屬性不是變數,不能作為 ref 引數傳遞。

4樓:

ref 是引用傳遞,課參考c#的兩個型別,值型別和引用型別,引用傳遞和值傳遞。

c#中ref到底有什麼作用.

5樓:匿名使用者

int是值型別,而string是引用型別,值型別改的是它的值,而引用傳遞過來的是地址,所以地址上的值也會改變。

6樓:aug詠

其實,你也不用理解抄得多複雜!你只要知道,如果用上ref的話,操作的是同一個變數,所以會改變值,如果沒用上ref的話,操作的不是同一個變數,所以值不會改變。這就行了!

其他的,以後學得深入了,你就會懂了!現在弄這些問題,只會令你學得很痛苦的!只不過用ref的話,呼叫的引數要在呼叫前就要初始化,初始化,你懂吧?

就是賦值!

7樓:匿名使用者

ref關鍵字用於將方法內的變數改變後帶出方法外。具體我們通過例子來說回明:

static void main(string args)static void add(int a, int b, ref int c)

最後列印出來的結果是

答3。如果沒有加ref引數,由於沒有add()方法沒有返回值,呼叫後,列印出來的結果仍然是0

8樓:匿名使用者

控制權傳遞**用方法,就是說呼叫swap()函式完成後的意思。

ref的意思就是「引用」。首不加ref的情況,swap函式執行時用到的a,b,函式外面的a,b是兩份資料;而加了ref時,則是一份資料。

9樓:龍天騎士

簡單型別資料 呼叫時 是不回傳的 也就是 進去的時候 引數是多少 方法呼叫結束後 引數值還是多少

ref新增在引數前 就可以儲存住 引數值的更改了 適用於簡單資料型別的傳輸

c#中關鍵字ref的作用是什麼?

10樓:匿名使用者

你可以給 基本型別(比如整形) 加上ref,就按引用傳遞了。

11樓:匿名使用者

一般ref被用來傳引數

的copy。

方法bai引數上的du ref 方法zhi引數關鍵字使方法引用傳遞到方法的同一個變

dao量。

當控制傳遞**用方法時,在方法中對引數所做的任何更改都將反映在該變數中。

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

ref 引數的值被傳遞到 ref 引數。 傳遞到 ref 引數的引數必須最先初始化。

將此方法與 out 引數相比,後者的引數在傳遞到 out 引數之前不必顯式初始化。 屬性不是變數,不能作為 ref 引數傳遞。

c#裡傳引數 ref關鍵字的作用是什麼?

12樓:匿名使用者

方法引數上的 ref 方法引數關鍵字使方法引用傳遞到方法的同一個變數。當控制版傳遞**用方法時,在權方法中對引數所做的任何更改都將反映在該變數中。 若要使用 ref 引數,必須將引數作為 ref 引數顯式傳遞到方法。

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

屬性不是變數,不能作為 ref 引數傳遞。

13樓:匿名使用者

傳遞引用,也就是僅僅把該引數的指標傳遞到方法裡

14樓:匿名使用者

函式中有值傳遞或引用傳遞,ref是引用傳遞,正好我也是學c#的,如果你願意,在baidu上加我為好友吧!一起討論!

c#中ref是什麼意思?怎麼運用的?求列子

15樓:匿名使用者

可以理解為類似的傳址引用,同時還有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,防止呼叫時增加客戶端**量。

c# 中 ref引數到底是什麼 ?該怎麼用?

16樓:匿名使用者

static void main(string args) private static void getval(int x)//這裡只是單純的複製x=0這個變數.傳說中的傳值 private static void getrefval(ref int x)//引數x是1個指向堆疊中值型別為int的指標 //傳說中的傳址

c#中用了ref就是引用傳遞?

17樓:匿名使用者

對啊ref 關鍵字使引數按引用傳遞。其效果是,當控制權傳遞**用方法時,在方法中對引數所做的任何更改都將反映在該變數中。若要使用 ref 引數,則方法定義和呼叫方法都必須顯式使用 ref 關鍵字。

c 中const的作用是什麼,c 中const的作用

const 一個c語言的關鍵字 限定修改 比如const int i 2 那麼在後面i的值是不能修改的,另外const限定定義變數以後必須賦初值 又比如const的引用 const int i 2 const a i a為i的一個引用,也是不能修改的,這一點在函式引數傳遞的時候用的比較多 另外還有個...

在c中Ref關鍵字的作用是啥,C裡傳引數ref關鍵字的作用是什麼

方法引數上的來 ref 方法參自數關鍵字使方法引用傳遞到bai方法的同du一個變數。當控制傳遞 用zhi方法時,dao 在方法中對引數所做的任何更改都將反映在該變數中。若要使用 ref 引數,必須將引數作為 ref 引數顯式傳遞到方法。ref 引數的值被傳遞到 ref 引數。傳遞到 ref 引數的引...

C 的虛擬函式有什麼用呢,C 中虛擬函式的作用是什麼?它應該怎麼用呢?

主要用在繼承抄與多型上 比如有一個襲汽車類,它有bai一個虛du函式alarm 就是鳴笛的聲zhi 音。汽車類有很多子 dao類,比如卡車類,小轎車類,他們的鳴笛聲音都一樣,所以只需繼承汽車類,不用在每個類裡重寫這個函式。現在如果新增一個卡丁車類,它的鳴笛聲音和其他類都不一樣,那就可以在這個類裡重寫...