首页 > 代码库 > 枚举enum

枚举enum

foreach (string s in Enum.GetNames(typeof(WallKind)))
{
    WinFormTools.MsgBox(s);
}
有人问怎样遍历Revit API中的枚举,遍历枚举是C#的语法功能。
来自MSDN
枚举可用来存储字符串与数字的值对,相当于一个对照表
常用方法:GetName(),GetValue(),Parse()
using System;
 
 public class EnumTest {
     enum Days { Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday };
     enum BoilingPoints { Celcius = 100, Fahrenheit = 212 };
     [FlagsAttribute]
     enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 };
 
     public static void Main() {
 
         Type weekdays = typeof(Days);
         Type boiling = typeof(BoilingPoints);
 
         Console.WriteLine("The days of the week, and their corresponding values in the Days Enum are:");
 
         foreach ( string s in Enum.GetNames(weekdays) )
             Console.WriteLine( "{0,-11}= {1}", s, Enum.Format( weekdays, Enum.Parse(weekdays, s), "d"));
 
         Console.WriteLine();
         Console.WriteLine("Enums can also be created which have values that represent some meaningful amount.");
         Console.WriteLine("The BoilingPoints Enum defines the following items, and corresponding values:");
 
         foreach ( string s in Enum.GetNames(boiling) )
             Console.WriteLine( "{0,-11}= {1}", s, Enum.Format(boiling, Enum.Parse(boiling, s), "d"));
 
         Colors myColors = Colors.Red | Colors.Blue | Colors.Yellow;
         Console.WriteLine();
         Console.WriteLine("myColors holds a combination of colors. Namely: {0}", myColors);
     }
 }

枚举enum