天天看點

C#之總結

資料類型

一、基礎資料類型/基本類型:值類型(結構)

  1. byte,sbyte 一個位元組 0~2^8-1
  2. short,ushort 兩個位元組 0~2^16-1
  3. int,uint 四個位元組 0~2^32-1
  4. long,ulong 八個位元組 0~2^64-1
  5. float 四個位元組 有效位為7位
  6. double 八個位元組 有效位為15位\
  7. decimal 十六個位元組 有效位為28~29

值類型進行轉換:

隐式轉換(自動轉換):double d=12;低級轉進階

顯式轉換(強制性轉換):int i=(int)12.5;進階轉低級,資料丢失;

靜态類提供一系列值類型轉換方法:

Convert

特殊類型(引用類型):string密封類,不可以繼承,同時字元串不可以被修改;

stringBuilder:可變字元串;

string:不可修改的字元串;

數組:一維數組:一組資料集合;

1.存儲相同類型的資料;

2.資料可以通過下标通路;

3.int[] arr={};直接定義一般隻限于聲明數組時初始化資料;

int[] arr;

arr={};//錯誤的,不成立

int[] arr=new int[長度];

int[] arr=new int[]{,,,};

二維數組:

多元數組:int[,] arr={{},{},{}};int[,] arr=new int[行數,列數];

交錯數組:int[][] arr=new int[行數][];

int[,] arr={{10},{200},{3}};

arr[0,0]=12;//{{12},{200},{3}}

int[][] arr=new int[3][]{new int[]{10},new int[]{200,100},new int[]{3}};

arr[1][1]=300;

//{{10},{200,300},{3}}

面向對象:string datetime

1.類:程式中基本機關;

1)引用類型

2)一個模闆

3)對一類具有相同屬性和方法的對象的集合,抽象統稱;

2. 對象,萬物皆對象,類的執行個體化;

3.封裝: 将資料和函數集合到一個個單元(類)中;

作用:儲存資料安全性,防止資料被随意修改;

一般資料存儲在字段中的,通路通過屬性,資料處理用函數;

注意:單一性

class A{

private string name;

public string Name{

get{

return name;
    }
    set{

        name=value;
    }
}
public void Move(){

}
           

}

A a=new A();

自定義類時,未定義構造函數,那預設會自動添加一個無參構造函數;

自定義類時,定義構造函數,預設不建立;

類擁有執行個體成員:字段,屬性,方法,索引器,事件;

類擁有常量,靜态成員;

繼承:子類隻能繼承一個父類,繼承該類中所有非私有的成員;

做用:

1.節省開發時間,提高代碼重用性;

2.進行代碼擴充;(例如List)

抽象類:

1.不可以執行個體化

2.可以定義抽象成員:屬性,方法,索引器

3.子類繼承抽象類必須重寫抽象成員;

abstract class F{

public abstract string Name{get;}

public abstract void Move();

}

class Son:F{

public Son():base(){

}
//重寫抽象成員
public override string Name{
    get{
        return "";
    }
}
public override void Move(){

}
           

}

base表示父對象的引用

base()調用父類中構造函數

base.屬性 通路父對象的方法;

base.方法()

base.字段

繼承:重寫,通過重寫達到擴充的功能;

接口:一套文法規則,一個模闆;

interface IAction{

string Name{get;}//預設都是public

string GetName();

}

子類可以實作多個接口

class Son:F,IAction,IComperable{

//重寫所有的方法

public string Name{get{return “”;}}

public string GetName(){}

public int CompareTo(Object obj){}

}

抽象類可以繼承抽象類,可以實作接口;

接口可以繼承接口;

接口不可以執行個體化;

抽象類,接口:多态;

泛型:延遲定義類型,直到使用時再确定類型;

class A{

T[] arr;

public void Move(K j){

K i=j;

}

}

索引器:類似屬性,可以通過傳入不同參數值傳回不同結果;

public string this[int index]{

get{

return index+”a”;

}

}

c#