c 基礎知識 列舉

2021-08-14 20:34:59 字數 2682 閱讀 5690

列舉是一組命名整型常量。列舉型別是使用enum關鍵字宣告的。

c# 列舉是值資料型別。換句話說,列舉包含自己的值,且不能繼承或傳遞繼承。

宣告列舉的一般語法:

enum

;

其中,

列舉列表中的每個符號代表乙個整數值,乙個比它前面的符號大的整數值。預設情況下,第乙個列舉符號的值是 0.例如:

enum

days

;

下面的例項演示了列舉變數的用法:

using

system

;namespace

;static

void

main

(string

args)"

,weekdaystart

);console

.writeline

("friday: "

,weekdayend

);console

.readkey

();}

}}

當上面的**被編譯和執行時,它會產生下列結果:

monday:1

friday

:5

筆記:1.列舉列表中的每個符號代表乙個整數值,乙個比它前面的符號大的整數值。預設情況下,第乙個列舉符號的值是 0。

但是,你也可以自定義每個符號的值:

using

system

;namespace

;static

void

main

(string

args)"

,weekdaystart

);console

.writeline

("friday: "

,weekdayend

);console

.readkey

();}

}}

輸出結果:

monday:71

friday

:51

2.列舉列表中的每個符號代表乙個整數值,乙個比它前面的符號大的整數值。預設情況下,第乙個列舉符號的值是 0。第 n 個符號值與第 n-1 個有關。

using

system

;class

program

;static

void

main

(string

args

)}

結果:

8

2

3.列舉體在給陣列中具體標號位置給予含義是使用,可以使程式更容易讀懂和修改。

enum

len

;static

void

main

(string

args);

console

.writeline

("length: "

,parameter

[(int

)len

.length

]);console

.writeline

("width: "

,parameter

[(int

)len

.width

]);console

.writeline

("height: "

,parameter

[(int

)len

.height

]);}

此時可以一眼看出列印值為引數的長寬高。

相對於使用

#define

length

0#define

width

1#define

height

2

該方式在插入乙個參時更方便:

#define

area

0#define

length

1#define

width

2#define

height

3enum

len

;

很明顯使用enum方式更容易更改。

4.位標誌列舉(flags enumeration)

現實中不總是用離散值列舉,以一周中的7天為例,假設要求應用程式使用者指定一周中各天的任意組合,便可以使用"位標誌列舉"。使用位標誌列舉時,可以用或運算建立新的組合值。以星期為例,宣告方法如下:

[

flags

]public

enum

days

為了讓位標誌列舉的值能夠組合,所有值都必須是2的冪。因為組合多個值時,必須能確定結果為哪個離散值。

在簡單列舉中,可以讓名稱none或最常用預設名稱對應於0,但標誌列舉要求0對應於名稱none,這個值意味著所有標誌都未設定。

執行:

days

days

=days

.weekend

;console

.writeline

(" : "

,days

,(int

)days

);

結果輸出:

weekend

:65

C 基礎知識 列舉(Enum)

列舉是一組命名整型常量。列舉型別是使用enum關鍵字宣告的。c 列舉是值型別。換句話說,列舉包含自己的值,且不能繼承或傳遞繼承。一 列舉的定義 列舉列表中的每個符號代表乙個整數值,乙個比它前面的符號大的整數值。預設情況下,第乙個列舉符號的值是 0。1 public enum days 211 12s...

desc 列舉型別id 列舉基礎知識梳理

列舉 1.1.列舉是什麼 列舉,也是一種自定義的引用資料型別。使用關鍵字 enum修飾。在寫程式的過程中,有些資料取值範圍是有限的,就只有有限的幾個值作為取值範圍。例如 乙個人的性別,只有兩個值可以選擇 例如 乙個用來描述星期幾的變數,取值範圍只有7個 此時,這樣的資料,就可以使用列舉型別來描述。1...

C 基礎知識

抽象類 abstract class 一種不可以被例項化的類。抽象類中一般含有抽象方法,當然也可有具體實現。繼承類只有實現過所有抽象類的抽象方法後才能被例項化。介面 inte ce 只含有共有抽象方法 public abstract method 的類。這些方法必須在子類中被實現。反射 程式集包含模...