列挙は何ですか?
列挙は、名前付き整数定数のセットです。列挙型が使用することです 列挙型の 宣言キーワードを。列挙は、値型です。言い換えると、列挙は、独自の値が含まれていると継承を継承または転送することはできません。
列挙の定義:
パブリック列挙方向 { [説明( "东")] 東、 [説明( "南")] 南、 [説明( "西")] 西、 [説明( "北")] 北 }
デフォルト値はゼロベースの列挙はintで、int型の次の列挙値は自動的に疲れて列挙値を追加します。たとえば、次のように東= 1、そしてように南= 2、西= 3、および。。。または東= 4、その後、南= 5、西= 7、北= 8。。。
int型の値の列挙を取得します:
VAR eastNumber =(int型)Direction.East。 // eastNumber = 0;
文字列の列挙を取得します:
VAR eastString = Direction.East.ToString()。 // eastString = "東"。
int型のターンの列挙:
VAR東=(方向)0。 //東= Direction.East
文字列のターンの列挙:
文字列strEnum =定数"東"; // ignoreCaseはは:trueに/偽(ケース.TRUEを無視するかどうか:偽、ケース(デフォルト)を無視:無視しません) Enum.Parseは=(typeof演算(ディレクション)VaRの東、strEnum、ignoreCaseは:trueに); // Direction.East =東。
記述(説明)列挙のため:
/// <要約> ///列挙法を説明取得 /// </要約> /// <PARAM NAME = "enumValue"> </ PARAM> /// <戻り値> </戻り> 公共の静的な文字列GetEnumDescription(列挙enumValue) { String値= enumValue.ToString(); のFieldInfoフィールドenumValue.GetType =()GetFieldの(値);. (falseに、typeof演算(DescriptionAttribute))[] = field.GetCustomAttributes OBJSオブジェクト; //説明を入手属性 (objs.Length == 0)//は説明属性、直接リターンの名前がない場合であれば 、戻り値; DescriptionAttribute DescriptionAttribute =(DescriptionAttribute)OBJS [0]; descriptionAttribute.Descriptionを返します; }
//コールは、記載されている方法の列挙を取得します VAR = GetEnumDescription説明(Direction.Eastを); //説明=「東」。
列挙ループ:
foreachの(Enum.GetValues方向項目(typeof演算(ディレクション))) { //項目は、東/南/西/北です }