一周學會C (列舉一)

2021-04-17 01:23:00 字數 1947 閱讀 5604

一周學會

c#(列舉一)

1.型別

·值型別

w變數直接包含它們自己的資料

w區域性變數總是放在棧(stack)

·引用型別

w變數間接指向它們的資料

w區域性變數指向堆(heap)中的物件

列舉(enum

值型別

結構(struct

值型別

類(class

引用型別

介面(inte***ce

引用型別

陣列([ ]array

引用型別

委託(delegate

引用型別

你可能對上面的例子感到奇怪,c#中的內在類如int,double怎麼沒有。c#規定這些內在類屬於結構,c#稱之為簡單型別。簡單型別和使用者自定義型別之間的最大區別是前者有字面表示式(如42),而後者沒有。

當然,還有第三種型別:指標。但指標只用在由unsafe關鍵字標識的非安全的**中。

2.列舉型別

·它是乙個使用者宣告的值型別

enum suit

//suit表示一副牌,它有4個花色:梅花(clubs),方塊(diamonds),紅心(hearts)//黑桃(spades)

sealed class example

}

列舉的宣告可以出現在類宣告的相同地方。

列舉的宣告包括名字、訪問許可權、內在的型別和列舉的成員。

列舉中宣告的常量的範圍是定義它們的列舉,換言之,下面的例子是錯誤的:

suit trumps = clubs;

clubs必須被限制為suit的乙個成員,就如下面:

suit trumps = suit.clubs;

3.列舉的注意點

·列舉值預設為int

w你可以選擇任一內在的整數型別

w但不能是字元型

enum suit : int //內在型別是int,可以省略

;//

可以有結尾分號

列舉類可以顯式的宣告它的內在型別是sbyte, byte, short,ushort, int, uint, long,ulong。如果乙個列舉類沒有顯式宣告它的內在型別,則預設為int。

成員的取值必須和列舉宣告的內在型別相同,並且必須在內在型別的範圍之內(例如,你不能讓成員的取值為負數,而列舉的內在型別是uint)。

如果成員沒有被賦值, 那麼它的取值是前乙個成員取值+1,第乙個成員的預設值是1。列舉的成員的取值可以有相同的取值。

最後乙個列舉成員可以使用乙個結尾分號,這使得你將來可以很方便地加入更多的成員。

列舉成員的訪問許可權隱含為public。

一周學會C (屬性一)

一周學會 c 屬性一 1.問題 struct time public void sethour int value private int hour,minute,second static void main 封裝把一些不重要的細節隱藏起來,這樣你可以集中精力處理那些重要的內容。但封裝很難被掌握,...

一周學會C (類二)

一周學會 c 類二 5.例項字段 例項字段.w在所有的建構函式中被初始化為預設值 0 false null w可以在一建構函式中顯式初始化 w可以在它們宣告時初始化 sealed class pair private int x private int y 42 回憶一下 在結構的自定義建構函式必須...

一周學會C (值的型別二)

一周學會 c 值的型別二 4.連線 規則1 w除了賦值操作符外的其他二元操作符都是左連線的。x y z 應理解為 x y z 規則2 w賦值操作符和?操作符是右連線的。x y z 應理解為x y z x y z 應理解為x y z a?b c?d e 應理解為a?b c?d e 5.計算時的順序 運...