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