C#枚舉類型的筆記

一、枚舉類型的概念

枚舉類型聲明為一組相關的符號常數定義了一個類型名稱。枚舉用于"多項選擇"場合,就是程序運行時從編譯時已經設定的固定數目的“選擇”中做出決定。

枚舉類型(也稱為枚舉)為定義一組可以賦給變量的命名整數常量提供了一種有效的方法。例如,假設您必須定義一個變量,該變量的值表示一周中的一天。該變量只能存儲七個有意義的值。若要定義這些值,可以使用枚舉類型。枚舉類型是使用 enum 關鍵字聲明的。 ?比如:enum Weeks { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };

二、枚舉的優點

1、枚舉可以使代碼更易于維護,有助于確保給變量指定合法的、期望的值。

2、枚舉使代碼更清晰,允許用描述性的名稱表示整數值,而不是用含義模糊的數來表示。

3、枚舉使代碼更易于鍵入。在給枚舉類型的實例賦值時,VS.NET IDE會通過IntelliSense彈出一個包含可接受值的列表框,減少了按鍵次數,并能夠讓我們回憶起可能的值

三、枚舉的幾點說明

1、默認情況下,枚舉中每個元素的基礎類型是 int。可以使用: 指定另一種整數值類型。

2、如果不給枚舉列表的元素指定值,它們默認以0開始,依次遞增 +1。比如:Sunday 為0 , Monday 為 1,當然也可以指定值比如 enum Country{中國=2,香港=4,美國=6};

3、枚舉和結構一樣屬于值類型。

4、枚舉只有一種類型成員:命名的整數值常量。

四、枚舉的用法示例

1、聲明

public enum TimeOfDay

{

Moning = 0,

Afternoon = 1,

Evening = 2,

};

//獲取枚舉字符串

TimeOfDay time = TimeOfDay.Afternoon;

Console.WriteLine(time.ToString());//輸出:Afternoon

//根據字符串獲取對應的枚舉值

TimeOfDay time2 = (TimeOfDay) Enum.Parse(typeof(TimeOfDay), "Afternoon", true);

Console.WriteLine((int)time2);//輸出1

// 根據值獲取對應的名稱

string str = Enum.GetName(typeof(TimeOfDay), 0);//str 值為Morning

//遍歷獲取所有的枚舉值

string str="";

foreach (int item in Enum.GetValues(typeof(TimeOfDay)))

{

str += item.ToString();

}

//遍歷獲取所有的枚舉名稱

string strName="";

foreach (int item in Enum.GetNames(typeof(TimeOfDay)))

{

strName += item.ToString();

}

歡迎關注我的公眾號(同步更新文章):DoNet技術分享平臺

閱讀原文

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/272756.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272756.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272756.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java動態打印_JFreeChart學習(三)——動態打印java內存使用情況

JFreeChart動態打印java內存使用情況import java.awt.BasicStroke;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt…

WPF中StringToImage和BoolToImage簡單用法

在WPF的綁定控件操作中,經常會通過bool值或者某些特定的string值做出相應動作。但UI層控件的很多屬性對應的都不是Bool值或者對應的只是固定的String值。 這個時候有兩方法解決該問題。 1.是在后臺cs中做出比較判斷,然后根據相應結果傳達UI層做出相應動作…

【必備】jQuery性能優化的38個建議

一、注意定義jQuery變量的時候添加var關鍵字這個不僅僅是jQuery,所有javascript開發過程中,都需要注意,請一定不要定義成如下:$loading $(#loading); //這個是全局定義,不知道哪里位置倒霉引用了相同的變量名&#xf…

java中策略設計模式_Java中的設計模式(五):策略模式

策略設計模式是行為設計模式之一。當我們為特定任務使用多個算法時,使用策略模式,客戶端決定在運行時使用的實際實現。策略模式的最佳示例之一是Collections.sort()采用Comparator參數的方法。基于Comparator接口的不同實現,對象將以不同的方…

isset函數

isset (PHP 4, PHP 5) isset — 檢測變量是否設置 檢測變量是否設置,并且不是 NULL。 如果 var 存在并且值不是 NULL 則返回 TRUE,否則返回 FALSE。 $a "test"; $b "anothertest";var_dump(isset($a)); // TRUE var_dump(i…

SQLl中的left join、right join、inner join詳解

left join(左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄right join(右聯接) 返回包括右表中的所有記錄和左表中聯結字段相等的記錄inner join(等值連接) 只返回兩個表中聯結字段相等的行舉例如下:--------------------------------------------表A記…

afudos備份bios不動_bios刷壞后的兩種解決方法

通常主板新的BIOS可以修正舊版中BIOS的一些BUG,糾正對某些硬件和軟件的兼容問題,添加新硬件的支持等等,所以有時我們需要刷新BIOS。但刷新主板BIOS實際上是存在一定風險的,雖然現在各主板廠商都推出了在Windows下刷新BIOS的軟件&a…

光學基礎知識:白光、顏色混合、RGB、色彩空間

1665年,牛頓(Isaac Newton)進行了太陽光實驗,讓太陽光通過窗板的小圓孔照射在玻璃三角棱鏡上,光束在棱鏡中折射后,擴散為一個連續的彩虹顏色帶,牛頓稱之為光譜,表示連續的可見光譜。而可見光譜只是所有電磁…

SQL Server各個版本功能比較

微軟的SQlserver主要經歷了從sql server 2000 到最新的sql server 2017,現把各個版本的更新特性介紹如下:SQL SERVER 2000日志傳送索引視圖SQL SERVER 2005數據庫鏡像(只有 SQL Server 2005 Enterprise Edition SP1 和更高版本支持異步數據庫…

java hibernate的使用_《Hibernate快速開始 – 4 – 使用JAVA持久層 API (JPA)教程》

章節目標使用JPA EntityManagerFactory使用注解提供映射信息使用 JPA 接口本教程可在 entitymanger/ 路徑下下載4.1. persistence.xml之前的章節使用了hibernate原生的配置文件hibernate.cfg.xml。然而,JPA中定義了不同的的自助配置文件persistence.xml。這個啟動過…

HTTP消息中Header頭部信息整理

1、HTTP請求方式GET向Web服務器請求一個文件POST向Web服務器發送數據讓Web服務器進行處理PUT向Web服務器發送數據并存儲在Web服務器內部HEAD檢查一個對象是否存在DELETE從Web服務器上刪除一個文件CONNECT對通道提供支持TRACE跟蹤到服務器的路徑OPTIONS查詢Web服務器的性能說明&…

gdb命令中attach使用

[測試程序] 我們先看看我們的測試程序: /* in eg1.c */ int wib(int no1, int no2) { int result, diff; diff no1 - no2; result no1 / diff; return result; } int main() { pid_t pid; pid fork(); if (pid &…

java%4d_java積累

數組的使用package javaDemo;import java.util.*;/**** author Administrator* version 1.0***/public class test {public static void main(String[] args){String[] greeting new String[3];greeting[0] "Welcome to Core Java";greeting[1] "by Cay Hors…

查詢CPU占用高的SQL語句的解決方案

觸發器造成死鎖、作業多且頻繁、中間表的大量使用、游標的大量使用、索引的設計不合理、事務操作頻繁、SQL語句設計不合理,都會造成查詢效率低下、影響服務器性能的發揮。我們可以使用sql server自帶的性能分析追蹤工具sql profiler分析數據庫設計所產生問題的來源&…

父類與子類之間的關系

1) 運行課件中的例題ParentChildTest.java,回答下列問題: a) 左邊的程序運行結果是什么? b) 你如何解釋會得到這樣的輸出? 第一個創建一個Parent對象,調用的是父類構造方法 第二個創建一個Child對象,調用的…

php獲取到的json數據如何處理_php – 如何從API獲取JSON數據

我使用過雅虎的符號查找它以JSON格式返回數據.喜歡以下YAHOO.Finance.SymbolSuggest.ssCallback({"ResultSet": {"Query": "ya","Result": [{"symbol": "YHOO","name": "Yahoo! Inc.","…

.NET開發中應該遵循的幾點建議

1、始終控制類的大小那些超大的類在嘗試做太多的事情,這違反了單一職責原則, 為什么一定要將兩個職責分離到單獨的類中呢?因為每一個職責都是變化的中心。在需求變更時,這個變更將會出現在負責該職責的類中。如果一個類承擔了多個…

Linux下jetty報java.lang.OutOfMemoryError: PermGen space及Jetty內存配置調優解決方案

Linux下的jetty報java.lang.OutOfMemoryError: PermGen space及Jetty內存配置調優解決方案問題linux的jetty下發布程序后再啟動jetty服務時,發現啟動不了,從日志中找到報java.lang.OutOfMemoryError: PermGen space。原因分析PermGen space,全…

微博php sdk,手機第三方新浪微博登錄php api實現分析

提供api,POST方式,根據傳遞過來的微博uid/appkey,判斷該用戶的ID是否在自己的數據庫中。如果有,直接登錄返回用戶登錄api的json。如果沒有,就將該用戶的IDtoken請求微博用戶信息api:http://open.weibo.com/…

13條只有程序員才能懂的內涵段子

一、bug跟蚊子的相似之處:1、不知道藏在哪里。2、不知道有多少。3、總是在你即將睡覺休息的時候出現。二、A:最近在看《一拳超人》,覺得咱們程序猿跟埼玉老師有點像啊!B:哪里像了?A:越禿越強&am…