偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

四種C#參數類型簡介

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

C#參數類型有四種:

值類型

引用類型

輸出類型

數組型參數

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

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

例子:

  1. public class MyClass  
  2. {  
  3.     public MyClass()  
  4.     {  
  5.         //  
  6.         //TODO: 在此處添加構造函數邏輯  
  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#參數類型(2):引用參數

使用ref關鍵字可以使參數按照引用傳遞.在需要傳遞回調用方法時,在方法中對參數所做的任何更改都將反映在該變量中,若使用ref關鍵字,則在方法定義和調用方法時都必須顯式使用ref關鍵字.

注意ref的使用!

例子:

  1. public class MyClass  
  2. {  
  3.     public MyClass()  
  4.     {  
  5.         //  
  6.         //TODO: 在此處添加構造函數邏輯  
  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#參數類型(3):輸出參數

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

例子:

  1. public class MyClass  
  2. {  
  3.     public MyClass()  
  4.     {  
  5.         //  
  6.         //TODO: 在此處添加構造函數邏輯  
  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#參數類型(4):數組型參數

數組型參數就是聲明params關鍵字,用于指定在參數數目可變處采用參數的方法參數.

在方法聲明中的params關鍵字之后不允許任何其他參數,并且在方法聲明中只允許一個params關鍵字.

例子:

  1. public class MyClass  
  2. {  
  3.     public MyClass()  
  4.     {  
  5.         //  
  6.         //TODO: 在此處添加構造函數邏輯  
  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); 

效果:

效果  

另:

數組類型的參數:

數組類型是引用類型的數據,所以也應歸類于引用類型.

  1. public class MyClass  
  2. {  
  3.     public MyClass()  
  4.     {  
  5.         //  
  6.         //TODO: 在此處添加構造函數邏輯  
  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參數的參數必須***初始化,而out的參數在傳遞之前不必初始化.

四種C#參數類型就總結到這里,希望對大家有用。

【編輯推薦】

  1. C#事件和委托的編譯代碼
  2. C#事件的由來
  3. 學習C#委托:將方法綁定到委托
  4. 學習C#委托:將方法作為方法的參數
  5. C# 插件構架實例詳解
責任編輯:book05 來源: cnblogs
相關推薦

2009-09-08 17:20:01

C#排序算法

2009-08-26 15:04:35

C#轉換

2021-10-24 08:37:18

網絡監(jiān)控網絡架構網絡

2009-08-05 14:09:04

C#日期轉換

2024-10-24 08:04:00

2009-09-17 16:55:58

C#組件設計

2009-09-22 14:20:39

C#播放聲音

2013-05-30 10:06:05

光纖光纖跳線

2024-06-24 01:00:00

2024-05-21 14:04:16

2020-05-19 20:13:04

物聯網計算類型IOT

2022-03-25 14:47:24

Javascript數據類型開發(fā)

2021-12-01 23:05:27

物聯網計算數據

2009-08-25 17:52:01

C#可空值類型

2022-06-27 11:09:06

邊緣計算

2013-06-28 10:17:04

2009-08-27 15:00:55

C#線程控制

2024-05-29 13:18:12

線程Thread?方式

2010-04-15 10:45:57

IE9渲染引擎

2009-07-08 18:20:21

JDBC驅動
點贊
收藏

51CTO技術棧公眾號