引數修飾符:
無引數修飾符:如果乙個引數沒有任何引數修飾符修飾,那麼認為它是值傳遞,意味著方法內部收到的是實參資料的副本
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 修飾符之成員...