1.5 C# 結構體與枚舉

day 5 結構體和枚舉
1,枚舉
枚舉是值類型
枚舉的語法格式: enum 枚舉名
{
枚舉值1,枚舉值2,枚舉值3
}
默認情況下:枚舉值從0開始,依次遞增
枚舉值可以更改的,更改的值的下個值默認情況下加1,而且值不能重複。
枚舉和string,int之間的關係
---int轉枚舉 強制轉換 enum e=(enum)1;
---枚舉轉int 強制轉換 int a=(int) Color.BLUE;
---枚舉轉string string s=Enum。GetName(typeof(Color),3);
---string轉枚舉 Color c=(Color)Enum.Parse(typeof(Color,"BLUE"));

補充:獲取所有的枚舉值
Array values=Enum.GetValues(typeof(Color));
int[] intValues=(int [])values;
for(int i=0;i<intValues.Length;i++)
{
Console.WriteLine((Color)intValues[i]);
}
//isDefined檢測枚舉中是否包含某個枚舉值
if(Enum.IsDefined(typeof(Color),2))
{...}else{...}

2,struct
語法格式:
struct 結構體名
{
public int hp;//字段
public 結構體名(參數列表)
{
賦值操作;
}
}
結構體特點:
1,是值類型
2,結構體和類是同級關係
3,結構體內部存在多種成員變量,一般來說,構成成員變量的組成是字段,屬性以及函數(方法)
4,實例化結構對象的對象,採用的是new關鍵字。需要注意的是,此時new關鍵字的作用僅僅是創建對象,沒有開闢任何內存空間,這和類實例化對象是不一樣的。
5,結構體沒有析構函數。
6,結構體成員--字段要全部賦值
7,結構體成員--字段不可以之間直接被初始化,但是常量字段除外
8,構造函數可以有多個
9,不能在結構體內部調用或者重寫默認的構造函數
10,構造函數是特殊的方法,它和一般方法不一樣的地方在於不可能存在返回值
11,構造函數方法重載,也就是說構造函數中的參數列表不可以完全相同(類型,數量),它具備方法重載成立的所有判斷標準。


3,訪問修飾符
public (公有的),所有類都可以訪問
private (私有的),只有類可以訪問
4,this關鍵字
在結構體內部,代表結構對象
在類內部,代表類對象
this關鍵字不可以出現在有static(靜態)修飾的方法中
5,新增運算符
&:與運算,對位全是1,結果就是1,否則爲0;
|:或運算,對位全是0,結果就是0,否則爲1;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章