一周學會
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.計算時的順序 運...