您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關四種C#參數類型分別是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
C#參數類型有四種:
值類型
引用類型
輸出類型
數組型參數
C#參數類型(1):值參數
所謂值參數,就是利用值向方法傳遞參數時,編譯程序給實參的值做一份拷貝,并將此拷貝傳遞給該方法,這樣做的結果就是被調用的方法不會修改實參的值,保證了實際值的安全,在調用方法時,如果形參的類型時值類型的話,必須保證實參的類型也是值類型的數據.
例子:
public class MyClass { public MyClass() { // //TODO: 在此處添加構造函數邏輯 // } public void ChangeValue(string value) { value = "Value is Changed!"; } }
-------------------------------------
string value = "Value";
Response.Write(value+"
");
MyClass mc = new MyClass();
mc.ChangeValue(value);
Response.Write(value);
效果:
C#參數類型(2):引用參數
使用ref關鍵字可以使參數按照引用傳遞.在需要傳遞回調用方法時,在方法中對參數所做的任何更改都將反映在該變量中,若使用ref關鍵字,則在方法定義和調用方法時都必須顯式使用ref關鍵字.
注意ref的使用!
例子:
public class MyClass { public MyClass() { // //TODO: 在此處添加構造函數邏輯 // } public void ChangeValue(ref string value) { value = "Value is Changed!"; } }
-----------------------------
string value = "Value";
Response.Write(value+"
");
MyClass mc = new MyClass();
mc.ChangeValue(ref value);
Response.Write(value);
效果:
C#參數類型(3):輸出參數
使用out關鍵字來進行引用傳遞,這和ref關鍵字很累世,不同之處在于ref要求變量必須在傳遞之前就進行初始化,若使用out關鍵字,則方法定義和調用時都必須顯式的使用out關鍵字.
例子:
public class MyClass { public MyClass() { // //TODO: 在此處添加構造函數邏輯 // } public void ChangeValue(out string value) { value = "Value is Changed!"; } }
---------------------------------
string value ; MyClass mc = new MyClass(); mc.ChangeValue(out value); Response.Write(value);
效果:
C#參數類型(4):數組型參數
數組型參數就是聲明params關鍵字,用于指定在參數數目可變處采用參數的方法參數.
在方法聲明中的params關鍵字之后不允許任何其他參數,并且在方法聲明中只允許一個params關鍵字.
例子:
public class MyClass
{
public MyClass()
{
//
//TODO: 在此處添加構造函數邏輯
//
}
public void ChangeValue(params string[] value)
{
foreach (string s in value)
{
HttpContext.Current.Response.Write(s + "
");}
}
}
------------------------------------------
string value1 = "Value1"; string value2 = "Value2"; MyClass mc = new MyClass(); mc.ChangeValue(value1, value2);
效果:
另:
數組類型的參數:
數組類型是引用類型的數據,所以也應歸類于引用類型.
public class MyClass { public MyClass() { // //TODO: 在此處添加構造函數邏輯 // } public void ChangeValue(string[] value) { value[0] = "This is Value0,Changed!"; } }
----------------------------------------------
string[] value = { "Value1", "Value2" };
Response.Write(value[0] + "
");
MyClass mc = new MyClass();
mc.ChangeValue(value);
Response.Write(value[0] + "
");
效果:
注意:
ref和out的區別:
傳遞到ref參數的參數必須***初始化,而out的參數在傳遞之前不必初始化.
關于四種C#參數類型分別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。