C out和ref 引數修飾符

2022-09-20 20:39:07 字數 1284 閱讀 9179

引數修飾符:

無引數修飾符:如果乙個引數沒有任何引數修飾符修飾,那麼認為它是值傳遞,意味著方法內部收到的是實參資料的副本

out:輸出引數由方法內部進行賦值,(引用傳遞),如果方法內部沒有給被out修飾的輸出引數賦值,就會出現編譯報錯。out最大的用途就是只呼叫一次方法便會產生多個返回值。(c#7.0中實現一次方法返回多個返回值,可以使用元組)

ref:呼叫者賦初始值,(引用傳遞),在方法內部可以對引數進行操作,也可以不對它進行操作,但前提是ref修飾的引數是有初始值的。

out 和 ref 區別:

**驗證如下:

static

void main(string

args)

");console.writeline(

"----------------");

操作string str_ref = "

ref修飾的引數一定要提前賦值,否則會報錯";

doref(

refstr_ref);

console.writeline(

"----------------");

//3.無引數修飾符

string str = "

無引數修飾符";

console.writeline($

"執行無引數修飾符操作之前:");

dowrite(str);

console.writeline($

"執行無引數修飾符操作之後:");

console.writeline(

"----------------");

}//////

out操作

/// ///

public

static

void doout(out

string

s)

//////

ref操作

/// ///

public

static

void doref(ref

string

s)

//////

無引數修飾符操作

/// ///

public

static

void dowrite(string

s)

操作截圖:

C 中Out和Ref引數修飾符

以下為大家分析一下。傳值 比方你又乙份文件,假設採用傳值的話。相當於我複製了乙份,因此我對我這份文件的改動都不會影響到你的那份。假設你對這句話了解的話,那麼就簡單了。以下看乙個小demo。static void main string args static void method int i 傳址...

引數修飾符out 和 ref的區別

1 如果乙個方法中的變數在使用out作為引數時,在方法中對out引數所作的更改都會反映到該變數。static void method out int ivalue static void main 2 若要使用out引數,方法定義以及方法的呼叫都必須顯示使用out關鍵字 3 不必初始化作為out引數...

C 修飾符 類修飾符和成員修飾符

c 修飾符之類修飾符 public internal partial abstract sealed static internal 本程式集內的成員可以訪問。partial 部分類,可以將乙個類分成幾部分寫在不同檔案中,最終編譯時將合併成乙個檔案,且各個部分不能分散在不同程式集中。c 修飾符之成員...