C 中列舉型別的作用

2021-06-21 16:33:20 字數 1131 閱讀 8958

c#程式語言作為一種功能強大的語言,對開發人員來說作用是非常大的。不過,其中有很多應用方式還需要我們去不斷的**,不斷從中汲取經驗來達到熟練的程度。下面我們就先為大家詳細介紹一下有關c#列舉型別的相關概念。

其主要作用就是乙個約定:舉個常用的例子,你要表示星期1-7,你可以用int1-7,但是當你把它作為引數的時候,有時後你就給考慮傳入0,8的情況.而且用數字表示還需要相應的注釋和文件.

這個時候你定義個乙個列舉,名字就叫字面就叫monday , tuesday ,....就行,直觀,並且值可控.

定義列舉型別中元素的值時,預設第乙個元素的值是從0開始,後面依次加1

int型資料為32位有符號整型資料,並不區分正負

所以public enum test

這樣的定義是正確的

1、列舉enum的用途淺例

const int 

input= 1

;  const int 

output= 2

;  const int = 3

;

然後,呼叫以下函式:

bool open_file(string file_name, int open_mode); 

比如,

這種做法比較簡單,但存在許多缺點,主要的一點就是無法限制傳遞給open_file函式的第2個引數的取值範圍,只要傳遞int型別的值都是合法的。(當然,這樣的情況下的應對措施就是在open_file函式內部判斷第二個引數的取值,只有在1,2,3範圍內才處理。)

使用列舉能在一定程度上減輕這種尷尬(注1),它不但能實現類似於之前定義三個常量的功能,還能夠將這三個值組合起來成為獨一無二的組。例如:

enum open_modes {

input= 1

以上定義了open_modes為c#列舉型別enumeration type。每乙個命名了的列舉都是唯一的型別,是乙個型別標示器type specifier。例如,我們可以重新寫乙個open_file函式:

bool open_file(string file_name, open_modes om); 

open_file("phenix_and_the_crane", 1); 

列舉型別的作用

學c的候老師沒有很詳細講到列舉型別,但在學c 和做一些實踐的時候發現,列舉型別有時候是必要的。有時我們希望某些常量只在類中有效。由於 define定義的巨集常量是全域性的,不能達到目的,於是想當然地覺得應該用const修飾資料成員來實現。const資料成員的確是存在的,但其含義卻不是我們所期望的。c...

C 列舉型別作用域的思考

c 中的列舉型別繼承於 c 語言。就像其他從 c 語言繼承過來的很多特性一樣,c 列舉也有缺點,這其中最顯著的莫過於作用域問題 在列舉型別中定義的常量,屬於定義列舉的作用域,而不屬於這個列舉型別。例如下面的示例 enum fileaccess fileaccess access read 正確 fi...

C 中的列舉型別

c 中的列舉 列舉型別是一種的值型別,它用於宣告一組命名的常數。1 列舉的宣告 列舉宣告用於宣告新的列舉型別。訪問修辭符 enum 列舉名 基礎型別 基礎型別必須能夠表示該列舉中定義的所有列舉數值。列舉宣告可以顯式地宣告 byte sbyte short ushort int uint long 或...