快速撐握C#知識點之類的函數成員(一)

上一篇文章咱們講到了類的數據成員:字段,常量及事件,那麼這一篇咱們主要來看一下C#當中的函數成員:方法,屬性,構造函數,折構函數,索引器,操做符.

方法: 在C#中是一個很是重要的概念,在這裏的方法與其它語言中的函數相同,從字面意思上咱們理解方法是指爲達到某種目的而採起的途徑,步驟,手段.那在咱們C#中,方法定義的就是一個類的行爲,是一段程序執行的步驟.在之前的內容中咱們一直都在用方法來作爲實現行爲的容器.

方法:

        
/// <summary>
        
/// MyMagic不帶參數,無返回值的公有方法
        
/// </summary>

         public   void  MyMagic()
        

            
//實現魔法
        }

        
/// <summary>
        
/// MyMoney不帶參數,有返回值的私有方法
        
/// </summary>
        
/// <returns>輸出N多9</returns>

         private   int  MyMoney()
        
{
            
return 9999999;
        }


        
/// <summary>
        
/// MyMoney帶參數,有反回值的私有方法
        
/// </summary>
        
/// <param name="money">參數爲money</param>
        
/// <returns>輸出money</returns>

         public   int  MyMoney( int  money)
        
{
            
return money;
        }

在這裏咱們舉了一此例子,與咱們在學第二篇 快速撐握C#知識點之編寫一個C#程序 時的Main基本相同.在這裏要說明的是幾個概念:
方法的標籤:就是指整個方法的第一行如 public int MyMoney(int money)咱們把這一行全部的內容稱爲方法的標籤.
方法的參數:是指在標籤當中括號括起來的部分如上例中的int money,方法的參數是能夠有多個的,中間要用","號分隔.

方法的實現:指{}及其中間的全部內容.

ref關健字:能夠作爲進參,同時也能夠作爲出參.能夠看下例理解.
         public   void  Main()
        
{
            
int inti = 1;
            
int intj = 1;
            Program pro 
= new Program();
            pro.MyMoney(
ref inti,intj);//使用 ref關健字,把inti參數傳入方法MyMoney方法中.
            Console.WriteLine("i={0},j={1}",inti,intj);
        }


        
public   void  MyMoney( ref   int  inti, int  intj)
        
{
            inti 
= inti + 99;
            intj 
= intj + 99;
        }
以上程序的輸出結果爲:i=100,j=1
經過結果,咱們能夠看的出來ref關健字的做用,是指能夠把MyMoney方法外部的變量inti的值傳入方法中,在方法的實現運行完成以後將其計算結果的值再傳出到變量inti中,而另外一個變量intj並無使用ref,那獲得的結果就只是變量原來的值.咱們能夠得出ref 關健字就是起在使用方法時參數傳遞過程當中能夠做爲進參,同時也能夠作爲出參.

out關健字:只能夠作爲出參
         public   void  Main()
        
{
            
int inti;
            
int intj = 1;
            Program pro 
= new Program();
            pro.MyMoney(
out inti,intj);
            Console.WriteLine(
"i={0},j={1}",inti,intj);
        }


        
public   void  MyMoney( out   int  inti, int  intj)
        
{
            inti 
= 1;
            inti 
= inti + 99;
            intj 
= intj + 99;
        }
以上程序的輸出結果爲:i=100,j=1
根據代碼咱們能夠看的出inti變量並無被顯式的初始化值,能夠看的出使用out關健字並不會把值傳入方法當中.可是實現方法以後,會把參數再傳遞出來.
params 關健字:動態數組參數,在方法內部與main方法讀取命令行參數相似.看下例:
     public   void  Magic( params   int [] i)
    
{
        
foreach(int ii in i)
        
{
            Console.WriteLine(ii);
        }

    }
在使用方法時:
Magic( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 )
params 關鍵字不容許任何其餘參數,方法聲明中只容許一個 params 關鍵字。
相關文章
相關標籤/搜索