C # 入門

來源:互聯網
上載者:User

今天剛剛學C#,之前有上課,可是老師上課的時候我們都沒有書,所以都不會。

現在老師都上到後面的表單程式了,但是C#的基礎我都不會,無奈之下只好自己來學習啦

 

學每一門語言都是從它最基本的語句來學起的。
C# 的基礎資料型別 (Elementary Data Type)有很多啦,我們需要注意的是,bool型和string 已經從默默無聞的小嘍囉升級到基礎資料型別 (Elementary Data Type)之列了 ,還有就是,int 型變數的大小是 4 個位元組(原來C是2個)

基礎資料型別 (Elementary Data Type)沒有什麼太多要瞭解的,知道這樣就夠了。

數組 的定義 和之前的稍稍有點變化:

static void Main()

   int[]    a= {2,5,6,5,7}

  a[1];

 }

其中,中括弧表示,定義一個數組。

數組介紹完了 就開始要介紹 方法。 方法其實也就是函數。

double area(double r)

{

  return r*r*3.14;

}

然後就輪到三種控制結構:順序,選擇,迴圈

選擇:if....  ,if..... else.... ,if......if else .....if eles

迴圈:while  ...... ,do ....while... , for

文法和之前都是一樣的,所以也就不需要再說明一些什麼  

 

接下來就到類和對象

 

在C#中,類和main 函數是分開兩個檔案的,所以要建立類就要在旁邊的方案總管的項目右鍵
然後找到產生——類 ,系統會彈出一個對話方塊。(快速鍵是: shift +alt + c)

定義類的文法是:

存取修飾詞  class 類名

{

  欄位  

  方法

  屬性

  索引器

}

欄位:其實也就是變數

方法: 函數

(tip:選中多個列 用 Alt+ 滑鼠)

一般來說,我們寫一個類的變數會用private 來實現資料的封裝
但是封裝也要有訪問的方式,所以在C#裡面用屬性來實現對資料的封裝

屬性可以手動寫,也可以自動產生
它還分有 叫 自實現屬性 和唯讀屬性的類別

說白了,屬性就是 實現 如何在外部修改private 變數的值,屬性也就是一個函數(一個方法)

屬性的定義   有get 和 set

 public string Name
      {
          get { return name;}
          set { name = value;}
      }

自動產生的方法就是選中 private屬性,然後右鍵 重構——封裝欄位 (ctrl + R + E)

自實現屬性其實也就是 不寫private ,直接寫

public string Name {set;get;}

(注意:沒有=號)

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Console_class
{
    //快速鍵 添加類   shift + alt + C
    /*
     * 類的成員包括:
     * 欄位    ,欄位也就是 變數
     * 方法    ,也就是函數
     * 屬性    ,其實就是封裝欄位的方法,其中有,自動實現以及唯讀屬性的方式
     * 索引器 
     *
     *
     * 例子:學生類
     * 方法: 學習,休息,自我介紹
     * 欄位:姓名,學號,出生日期,性別
     */

    //快速鍵 選擇列  alt + 滑鼠點擊
    class student
    {
        //手動寫屬性
      private string name;
      public string Name
      {
          get { return name;}
          set { name = value;}
      }

        //快速鍵產生屬性 ctrl + R + E
      private string id;

      public string Id
     {  
      get { return id; }
      set { id = value; }
     }
      private DateTime dateOfBirth;

     public DateTime DateOfBirth
    {
      get { return dateOfBirth; }
      set { dateOfBirth = value; }
    }

     //自實現屬性 沒有等號!
   //  public char Sex = {get ; set ;}
       public char Sex {get; set;}

 

    //唯讀屬性 public
     public int Age
      {
          get { return DateTime.Now.Year - dateOfBirth.Year; }
      }

        public void study()
        {
            Console.WriteLine("我正在學習");
        }

        public void rest()
        {
            Console.WriteLine("我正在休息");
        }

        public void introduce()
        {
            Console.WriteLine("大家好,我叫做{0},我是一個{1}生,我出生日期是{2}",name,Sex,dateOfBirth);
        }
    }
}

 

索引器 是一個使用別的變數來訪問其意義的值 的一個方法,相當於設定別名

例如:你想用字串"數學" 來訪問math,"英語"來訪問english

 public 傳回值類型 this[別名的類型 名稱]

 public double this[string name]
        {
            get
            {
                if (name == "數學")
                    return math;
                else if (name == "英語")
                    return english;
                return -1;
            }
            set
            {
                if (name == "數學")
                    math = value;
                else if (name == "英語")
                    english = value;
            }

        }

 

繼承、重構、重寫 的概念都是C++的,所以,也沒有太大必要去理會

下面到介面,介面就相當於一個標頭檔,它裡面的屬性和方法都是public屬性的
並且,在介面中並不具體實現各個模組
介面也要建立一個檔案,我們在項目右鍵中添加-介面(快速鍵 shift + alt +c)

我們把類繼承介面的方式叫做  類實現介面

類的介面的定義用:

pulic Interface 介面名

{

  屬性 {get;set}

  方法 ();

}

 

public class beauty : 介面名

{

  public 屬性

     方法()

  {

  }

}

 

 

具體的C# 的基礎文法就是那麼多

 

下面介紹一些C#特有的一些東西

1.異常處理

try ... ... catch

2.   .NET架構

.net架構其實就是能讓我們站在巨人的肩膀上編程的一個類庫
它包含了

集合類、IO操作類庫、windows使用者介面類庫、ADO.NET類庫
LINQ類庫、多線程相關類庫、以及asp.net WEB空間類庫

3.  .net幾乎支援所有語言的編譯的原因—— Common Language SpecificationCLS 和中繼語言MSIL

 (跨平台性)

 4.  記憶體回收行程  —— 再也不用擔心記憶體泄露啦

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.