自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

四種C#參數(shù)類型簡介

開發(fā) 后端
本文介紹了C#參數(shù)類型,即值類型、引用類型、輸出類型、數(shù)組型參數(shù)。

C#參數(shù)類型有四種:

值類型

引用類型

輸出類型

數(shù)組型參數(shù)

C#參數(shù)類型(1):值參數(shù)

所謂值參數(shù),就是利用值向方法傳遞參數(shù)時(shí),編譯程序給實(shí)參的值做一份拷貝,并將此拷貝傳遞給該方法,這樣做的結(jié)果就是被調(diào)用的方法不會(huì)修改實(shí)參的值,保證了實(shí)際值的安全,在調(diào)用方法時(shí),如果形參的類型時(shí)值類型的話,必須保證實(shí)參的類型也是值類型的數(shù)據(jù).

例子:

  1. public class MyClass  
  2. {  
  3.     public MyClass()  
  4.     {  
  5.         //  
  6.         //TODO: 在此處添加構(gòu)造函數(shù)邏輯  
  7.         //  
  8.     }  
  9.  
  10.  
  11.     public void ChangeValue(string value)  
  12.     {  
  13.         value = "Value is Changed!";  
  14.     }  

-------------------------------------

  1. string value = "Value";  
  2. Response.Write(value+"
    "
    );  
  3.  
  4. MyClass mc = new MyClass();  
  5. mc.ChangeValue(value);  
  6.  
  7. Response.Write(value); 

 效果:

 效果

C#參數(shù)類型(2):引用參數(shù)

使用ref關(guān)鍵字可以使參數(shù)按照引用傳遞.在需要傳遞回調(diào)用方法時(shí),在方法中對(duì)參數(shù)所做的任何更改都將反映在該變量中,若使用ref關(guān)鍵字,則在方法定義和調(diào)用方法時(shí)都必須顯式使用ref關(guān)鍵字.

注意ref的使用!

例子:

  1. public class MyClass  
  2. {  
  3.     public MyClass()  
  4.     {  
  5.         //  
  6.         //TODO: 在此處添加構(gòu)造函數(shù)邏輯  
  7.         //  
  8.     }  
  9.  
  10.  
  11.     public void ChangeValue(ref string value)  
  12.     {  
  13.         value = "Value is Changed!";  
  14.     }  

-----------------------------

  1. string value = "Value";  
  2. Response.Write(value+"
    "
    );  
  3.  
  4. MyClass mc = new MyClass();  
  5. mc.ChangeValue(ref value);  
  6.  
  7. Response.Write(value); 

效果:

效果 

C#參數(shù)類型(3):輸出參數(shù)

使用out關(guān)鍵字來進(jìn)行引用傳遞,這和ref關(guān)鍵字很累世,不同之處在于ref要求變量必須在傳遞之前就進(jìn)行初始化,若使用out關(guān)鍵字,則方法定義和調(diào)用時(shí)都必須顯式的使用out關(guān)鍵字.

例子:

  1. public class MyClass  
  2. {  
  3.     public MyClass()  
  4.     {  
  5.         //  
  6.         //TODO: 在此處添加構(gòu)造函數(shù)邏輯  
  7.         //  
  8.     }  
  9.  
  10.  
  11.     public void ChangeValue(out string value)  
  12.     {  
  13.         value = "Value is Changed!";  
  14.     }  

---------------------------------

  1. string value ;  
  2.  
  3. MyClass mc = new MyClass();  
  4. mc.ChangeValue(out value);  
  5.  
  6. Response.Write(value); 

效果:

 效果

C#參數(shù)類型(4):數(shù)組型參數(shù)

數(shù)組型參數(shù)就是聲明params關(guān)鍵字,用于指定在參數(shù)數(shù)目可變處采用參數(shù)的方法參數(shù).

在方法聲明中的params關(guān)鍵字之后不允許任何其他參數(shù),并且在方法聲明中只允許一個(gè)params關(guān)鍵字.

例子:

  1. public class MyClass  
  2. {  
  3.     public MyClass()  
  4.     {  
  5.         //  
  6.         //TODO: 在此處添加構(gòu)造函數(shù)邏輯  
  7.         //  
  8.     }  
  9.  
  10.  
  11.     public void ChangeValue(params string[] value)  
  12.     {  
  13.         foreach (string s in value)  
  14.         {  
  15.             HttpContext.Current.Response.Write(s + "
    "
    );  
  16.         }  
  17.     }  

------------------------------------------

  1. string value1 = "Value1";  
  2. string value2 = "Value2";  
  3.  
  4. MyClass mc = new MyClass();  
  5. mc.ChangeValue(value1, value2); 

效果:

效果  

另:

數(shù)組類型的參數(shù):

數(shù)組類型是引用類型的數(shù)據(jù),所以也應(yīng)歸類于引用類型.

  1. public class MyClass  
  2. {  
  3.     public MyClass()  
  4.     {  
  5.         //  
  6.         //TODO: 在此處添加構(gòu)造函數(shù)邏輯  
  7.         //  
  8.     }  
  9.  
  10.     public void ChangeValue(string[] value)  
  11.     {  
  12.         value[0] = "This is Value0,Changed!";  
  13.     }  

----------------------------------------------

 

  1. string[] value = { "Value1""Value2" };  
  2.  Response.Write(value[0] + "
    "
    );  
  3.  
  4.  MyClass mc = new MyClass();  
  5.  mc.ChangeValue(value);  
  6.  
  7.  Response.Write(value[0] + "
    "
    );  

效果:

效果 

注意:

ref和out的區(qū)別:

傳遞到ref參數(shù)的參數(shù)必須***初始化,而out的參數(shù)在傳遞之前不必初始化.

四種C#參數(shù)類型就總結(jié)到這里,希望對(duì)大家有用。

【編輯推薦】

  1. C#事件和委托的編譯代碼
  2. C#事件的由來
  3. 學(xué)習(xí)C#委托:將方法綁定到委托
  4. 學(xué)習(xí)C#委托:將方法作為方法的參數(shù)
  5. C# 插件構(gòu)架實(shí)例詳解
責(zé)任編輯:book05 來源: cnblogs
相關(guān)推薦

2009-09-08 17:20:01

C#排序算法

2009-08-26 15:04:35

C#轉(zhuǎn)換

2009-08-05 14:09:04

C#日期轉(zhuǎn)換

2024-10-24 08:04:00

2021-10-24 08:37:18

網(wǎng)絡(luò)監(jiān)控網(wǎng)絡(luò)架構(gòu)網(wǎng)絡(luò)

2009-09-17 16:55:58

C#組件設(shè)計(jì)

2009-09-22 14:20:39

C#播放聲音

2013-05-30 10:06:05

光纖光纖跳線

2024-05-21 14:04:16

2024-06-24 01:00:00

2020-05-19 20:13:04

物聯(lián)網(wǎng)計(jì)算類型IOT

2022-03-25 14:47:24

Javascript數(shù)據(jù)類型開發(fā)

2021-12-01 23:05:27

物聯(lián)網(wǎng)計(jì)算數(shù)據(jù)

2009-08-25 17:52:01

C#可空值類型

2024-05-29 13:18:12

線程Thread?方式

2009-08-27 15:00:55

C#線程控制

2013-06-28 10:17:04

2022-06-27 11:09:06

邊緣計(jì)算

2018-09-13 14:51:43

NoSQL數(shù)據(jù)庫大數(shù)據(jù)

2009-07-08 18:20:21

JDBC驅(qū)動(dòng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)