ref和out的區(qū)別 C#中ref的作用是什么?
C#中ref的作用是什么?ref的作用與out參數(shù)相同,就是通過關鍵字找到main函數(shù)中定義的變量的內存地址,并通過方法體中的語法改變其大小。區(qū)別在于輸出參數(shù)必須初始化。輸出參數(shù)和引用參數(shù)的區(qū)別:從C
C#中ref的作用是什么?
ref的作用與out參數(shù)相同,就是通過關鍵字找到main函數(shù)中定義的變量的內存地址,并通過方法體中的語法改變其大小。區(qū)別在于輸出參數(shù)必須初始化。
輸出參數(shù)和引用參數(shù)的區(qū)別:
從CLR的角度來看,關鍵字out和關鍵字ref是等價的,也就是說,無論使用哪個關鍵字,都會生成相同的元數(shù)據(jù)和IL代碼。但是,C編譯器對這兩個關鍵字的處理方式不同。在C語言中,兩個關鍵字的區(qū)別在于哪個方法負責初始化引用對象。如果方法參數(shù)被標記為out,則調用者不希望在調用方法之前初始化對象,被調用的方法無法讀取對象的值,并且被調用的方法必須在調用之前返回給對象賦值。如果方法的參數(shù)標記為ref,則調用方必須在調用該方法之前初始化參數(shù)的值。被調用的方法可以讀取或為參數(shù)賦值。
REF是什么意思?
1. Ref關鍵字:讓參數(shù)通過引用傳遞。其效果是,當控件傳回調用方法時,對方法中參數(shù)所做的任何更改都將反映在變量中;這也相當于通過引用將值類型的數(shù)據(jù)傳遞給參數(shù)。
2. 要使用ref參數(shù),ref關鍵字必須顯式用于方法定義和方法調用。
3. 必須首先初始化傳遞給ref參數(shù)的參數(shù)。與out不同,out的參數(shù)在傳遞之前不需要顯式初始化。盡管ref和out在運行時處理方式不同,但在編譯時處理方式相同。因此,如果一個方法使用ref參數(shù),而另一個方法使用out參數(shù),則不能同時重載這兩個方法。
ref和out的區(qū)別在c#中總結?
1. 它們都是通過地址傳遞的,使用后原參數(shù)的值會發(fā)生變化。
2. Ref可以將參數(shù)值傳遞到函數(shù)中,out則清除參數(shù)。也就是說,不能從out傳遞值。out之后,參數(shù)值為空,因此必須初始化它一次。這就是二者的區(qū)別,或者如一些網友所說,ref是進是出,out只是出而不是進。
3. 使用ref類型參數(shù)時,必須首先初始化傳入的參數(shù)。Out,必須在方法中初始化。
4. 使用ref和out時,ref或out關鍵字應添加到方法的參數(shù)和方法的執(zhí)行中。迎接比賽。
5. Out適用于需要retrun多個返回值的地方,而ref則在要調用的方法需要修改調用者的引用時使用。
C語言中out和ref的區(qū)別是什么?
在C語言中,ref等價于C語言的引用參數(shù),實際參數(shù)和形式參數(shù)一起變化。Out主要用于輸出參數(shù),即Out標記的參數(shù)必須在返回前賦值。這就是out和Ref的區(qū)別。