C#基礎(3)

來源:互聯網
上載者:User

標籤:

一、常量:

   文法:

          const      類型     常量名=變數名

在定義時賦值,在其他地方不允許賦值

二、枚舉:

  讓我們定義一種類型並且在定義這種類型時,我們要指定這個類型的所有值

文法:

        enum(自己起的類型名稱){值1,值2,、、、、值n}

         例如:定義一個叫Gender的枚舉類型,它的值只有兩個,男和女

                  enum    Gender

                  {

                       男,女

                  }

枚舉的定義一般和類定義在同一個層級,這樣,在同一個命名空間下的所有的類就都可以使用這個枚舉了(方法中/類中也可以)

枚舉的作用:

(1).限制使用者不能隨意賦值,只能在定義枚舉時列舉的值中選擇

(2).    不需要死記每一個值是什麼,只需要選擇相應的值

注意:定義枚舉時,值不能是int類型

枚舉類型的變數都可以強制轉換成一個int類型

枚舉的值在定義時有一個預設編號,編號從0開始

如果把一個字串轉換成枚舉類型:

       公式:      (自己定義的枚舉類型)(Enum.Parse(typeof(自己定義的枚舉類型),"待轉換的字串")

           典型的枚舉類型: Message.Show的參數

三、結構:

結構也是一種類型,也可以包含變數和方法

 文法:

        存取修飾詞   struct    結構名

          {

               定義結構成員

         }

定義好一個結構後,就可以直接聲明相應的變數了,聲明好變數後,通過變數名.成員名來訪問成員

四、數組:

可以幫我們一次聲明多個同類型的變數,這些變數在記憶體中是連續儲存的

    文法:

            數群組類型[]  數組名 =new 數群組類型[數組長度]

           例如:int[]  score=new int[5]

如何訪問數組:通過下標(索引)來訪問數組

int數組一旦聲明,裡面的每一個元素被初始化成0.

通過  數組名.Length 可以獲得數組的長度

console.Clear()  : 清屏

五、冒泡排序:

讓數組中的元素兩兩比較(第i個和第i+1個比較),經過i-1次兩兩比較,數組中的元素能按照我們預期的規律排序;要從大到小排序,我們進行兩兩比較的時候用<,要從小到大排序,我們進行兩兩比較的時候用>

   公式:

            for (int i=0;i<numbers.Length-1;i++)          //number為數組名

            {

                   for (int j=0;j<number.length-1;j++)

                  {

                      if (條件)

                      {

                           交換

                     }

                }

           } 

六、方法:

功能:用來複用代碼的,當我們在一個程式中反覆寫同樣的代碼,那一般情況下,我們可以把需要重複寫的代碼定義在一個方法中,用的時候只需要調用就行了

定義方法的文法:

               [存取修飾詞]  [static]   傳回值類型  方法名([參數])

               {

                    方法體

               }

注意:

(1).一般情況下,方法一般要定義在類中

(2).如果方法沒有傳回值,則傳回值類型寫void

(3).如果方法沒有參數,括弧()不能省

命名規則:

方法名開頭要大寫,參數名要大寫,參數名、變數名要有意義

方法的調用:

對於靜態方法(由static修飾的)則使用類名.方法名;如果在同一個類中調用本類中的方法,可以唯寫方法名();

一個變數一旦定義在方法外、類的裡面,就叫做類的欄位,這個變數就可以被本類的所有方法所訪問,但是要注意,靜態方法不能訪問靜態欄位

七、變數的範圍:

在方法中定義的變數稱為局部變數,其範圍是從定義開始,到其所在的大括弧結束為止

八、傳回值:

   文法:

           return   值;

注意:

一個方法只能有一個傳回值

一旦一個方法有傳回值,那麼在這個方法中,就必須通過return語句返回一個值,並且這個值要與傳回值類型相同

九、重載:

一般在同一個類中,方法名相同,並且方法的參數的個數不同或者對應位置上的類型不同,才能構成方法的重載

     例如:

              public double static Shu(int a,double b)和  public double static Shu(double a,int b)

     或者

              public double static Shu(int a,int b,int c)和  public double static Shu(int a,int b)

注意:

方法的重載和傳回值無關

十、方法的out參數和ref參數

          通過參數來返值:

                          static void main(string[] args)    //調用者

                          {

                                 int number;

                                 int result=Test(out number);

                                 Console.WriteLine("number={0},result={1}",number,result);

                         }

                         static int Test(out int a)    //被調用者

                         {

                                  a=10;

                                  a=a+1;

                                  return 200;

                        }

如上代碼:

     實現步驟:

(1).在方法的參數類型前加out,那麼傳參數的時候,也必須在number前加out,表明這個參數不是傳入的,而是用來傳出值的

(2).如果參數是以out形式傳入的,那麼在傳入前可以不賦初值

(3).在方法中對於由out修飾的參數,必須賦值,並且必須在使用前賦值

 

out是內部為外部變數賦值,out一般用在函數需要有多個傳回值的場合

out用於傳出值,在方法中必須對out修飾的參數進行賦值

ref可以理解成是雙向的,既可以傳入,也可以傳出

在傳參數的過程中,如果參數有out或ref修飾的話,那麼改變方法中的參數變數的值,調用者方法中的變數的值也會相應的改變

C#基礎(3)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.