今天剛剛學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. 記憶體回收行程 —— 再也不用擔心記憶體泄露啦