1. 程式人生 > >c#列舉---列舉同樣也支援中文

c#列舉---列舉同樣也支援中文

C#中的列舉  
列舉型別是一種的值型別,它用於宣告一組命名的常數。  
(1)列舉的宣告:列舉宣告用於宣告新的列舉型別。  
訪問修辭符   enum   列舉名:基礎型別  
{  
列舉成員  
}  
基礎型別必須能夠表示該列舉中定義的所有列舉數值。列舉宣告可以顯式地宣告   byte、sbyte、short、ushort、int、uint、long   或   ulong   型別作為對應的基礎型別。沒有顯式地宣告基礎型別的列舉宣告意味著所對應的基礎型別是   int。  
(2)列舉成員  
列舉成員是該列舉型別的命名常數。任意兩個列舉成員不能具有相同的名稱。每個列舉成員均具有相關聯的常數值。此值的型別就是列舉的基礎型別。每個列舉成員的常數值必須在該列舉的基礎型別的範圍之內。  
示例:  
public   enum   TimeofDay:uint  
{  
Morning=-3,  
Afternoon=-2,  
Evening=-1  
}  
產生編譯時錯誤,原因是常數值   -1、-2   和   –3   不在基礎整型   uint   的範圍內。  
(3)列舉成員預設值  
在列舉型別中宣告的第一個列舉成員它的默值為零。  
以後的列舉成員值是將前一個列舉成員(按照文字順序)的值加   1   得到的。這樣增加後的值必須在該基礎型別可表示的值的範圍內;否則,會出現編譯時錯誤。  
示例:  
public   enum   TimeofDay:uint  
{  
Morning,  
Afternoon,  
Evening  
}  
Morning的值為0,Afternoon的值為1,Evening的值為2。  
(4)為列舉成員顯示賦值  
允許多個列舉成員有相同的值.  
沒有顯示賦值的列舉成員的值,總是前一個列舉成員的值+1.  
示例  
public   enum   Number  
{  
a=1,  
b,  
c=1,  
d  
}  
b的值為2,d的值為2.  
注意:以上列舉值都不能超過它的基礎類型範圍。否則會報錯.  
(5)列舉型別與基礎型別的轉換  
基礎型別不能隱式轉換為列舉型別  
列舉型別也不能隱式轉換為基礎型別  
示例:  
public   enum   Number  
{  
a,  
b,  
c,  
d  
}  

class   Test  
{  
public   static   void   Main()  
{  
int   i=Number.a;//錯誤,要強制型別轉換(int)Number.a  
Number   n;  
n=2   //錯誤,要強制型別轉換(Number)2  
}  
}  
(6)System.Enum型別  
System.Enum   型別是所有列舉型別的抽象基類,並且從   System.Enum   繼承的成員在任何列舉型別中都可用。  
System.Enum   本身不是列舉型別。相反,它是一個類型別,所有列舉型別都是從它派生的。  
System.Enum   從型別   System.ValueType派生  
(7)使用列舉型別  
using   System;  
public   enum   TimeofDay  
{  
Morning,  
Afternoon,  
Evening  
}  
class   Test  
{  
static   void   WriteGreeting(TimeofDay   timeofDay)  
{  
switch(timeofDay)  
{  
case   TimeofDay.Morning:  
Console.WriteLine( "good   morning ");  
break;  
case   TimeofDay.Afternoon:  
Console.WriteLine( "good   afternoon ");  
break;  
case   TimeofDay.Evening:  
Console.WriteLine( "good   evening ");  
break;  
}  
}  
static   void   Main()  
{  
WriteGreeting(TimeofDay.Morning);  
WriteGreeting(TimeofDay.Evening);  
WriteGreeting(TimeofDay.Afternoon);  
}  
}

enum支援中文

相關推薦

c#列舉---列舉同樣支援中文

C#中的列舉   列舉型別是一種的值型別,它用於宣告一組命名的常數。   (1)列舉的宣告:列舉宣告用於宣告新的列舉型別。   訪問修辭符   enum   列舉名:基礎型別   {   列舉成員   }   基礎型別必須能夠表示該列舉中定義的所有列舉數值。列舉宣告可以顯式地

C# 獲取列舉的描述Description

方法類: public static class EnumExtensions { #region Enum /// <summary> /// 獲取列舉變數值的 Description 屬性 /// <

C++中列舉enum詳解

轉載部落格地址:https://blog.csdn.net/bruce_0712/article/details/54984371     眾所周知,C/C++語言可以使用#define和const建立符號常量,而使用enum工具不僅能夠建立符號常量,還能定義新

c# enum 列舉一般用法

c# enum public enum Demo { Moning = 0, Afternoon = 1, Evening = 2, }; 列舉方法 1、獲取列舉字串 Demo time = Demo.Afternoon; Console.WriteLin

C++】列舉(enum)

目錄 宣告和定義 常規使用方法 自定義列舉量的值 列舉的取值範圍(一般不用考慮) 列舉應用 改進後的列舉 原有列舉的問題 改進--強型別列舉 專案中的強型別列舉程式碼片段 參考 宣告和定義 enum enumType {Monday, Tuesda

C語言 列舉法演算法題

002:撥鍾問題 檢視 提交 統計 提問 總時間限制:  1000ms 記憶體限制:  65536kB 描述 有9個時鐘,排成一個3*3的矩陣。 |-------| |-------| |-------| | | |

C++之——列舉類 enum class var_name{string1,string2,string3}

#include <iostream> using namespace std; int main() { enum class Case { case1, case2, case3 };

Codeforces #503dive2. C 1019A 列舉貪心瞎暴力。ZOJ3715原題

C. Elections    ZOJ3715原題 input standard input output standard output As you know, majority of students and teachers of Summer Inform

C#基礎列舉型別

12.1    列舉型別 列舉型別基實就是一些常量和一個例項欄位。 強型別,列舉之間進行不能隱式轉換 列舉型別直接派生於System.Enum,後者派生於System.ValueType,值型別,可以使用裝箱/拆箱 不能定義方法/屬性/事件。

C#根據列舉的key值獲取列舉name名稱

     public enum SubjectEnum    {        語文 = 1,        數學 = 2,        英語 = 3,        物理 = 4,        化學 = 5,        地理 = 6,        生物 = 7,

C#】—列舉、結構體、陣列

C#已經進行了一段時間,自己總是不是不想總結,所以這次逼迫自己走出舒適區,加油! 結構體 一次性宣告多個變數 語法: 【訪問修飾符】 struct 結構名 { 【訪問修飾符】 [型別] 結構名1; 【訪問修飾符】 [型別]

C# 獲取列舉描述屬性

public string GetEnumDescription(Enum enumValue) { string value = enumValue.ToString(); FieldInfo field = enumValue.GetType().GetField(value);

C++ 求列舉排列的兩種方法

列舉排列常用的方法有兩種:一是遞迴列舉,二是用STL中的next_permutation。1.列舉遞迴:void print_permutation(int n,int *p,int *A,int cu

C#根據列舉的數值(Value)獲取對應的Name值

原文連結:http://2sharings.com/2014/c-sharp-get-name-value-by-int 以前C#程式開發中,在獲取列舉對應的Name時最常想到的方法是:傳入列舉的value值,用switch或者if語句來逐個判斷,然後取出匹配

C# 獲取列舉的 鍵名稱,值 和描述 遍歷列舉

C# Enum  列舉的操作。  鍵名稱,值 和描述  和 遍歷列舉  /// <summary>      /// 促銷      /// </summary>      public enum cxsd      {          [Des

C#/.NET 列舉特性擴充套件——系統特性及自定義特性

C#列舉特性擴充套件——系統特性及自定義特性 系統自帶的特性 public static class EnumHelperExtensions { public static List<T> GetAllEnumMembers<T>() {

JAVA 列舉型別 根據程式碼得到中文

package ymTest; /** * Created by dbmaster on 2017/1/6. */ public class test1 { public static

C/C++enum列舉型別及賦值範圍

        C++的enum工具提供了一種建立符號常量的方式,這種方式可以代替const        1.建立enum列舉                這語句完成工作:1.讓weekday成為新型別的名稱,2.讓sun、mod、tue等作為符號常量,它們對應整數值0~

C++引用/列舉/typedef/標頭檔案/預編譯器/自定義標頭檔案

引用是別名 int &refVal2;//引用型別定義必須初始化 int &refVal3 = 10;//引用初始化必須是物件 當初始化後,只要改引用存在,他就保持繫結到初始化時指向的物件。不可能將引用繫結到另一個物件。 要理解重要概念是

C#的列舉轉換、應用例子

       如果想定義一列舉可以和int/byte等互換,則在定義列舉的時候需要指定基礎資料型別(underlyingType),如下程式碼定義了Color列舉類似,可以與byte互轉,亦能通過En