在c#中一次获取所有定义

时间:2017-01-02 17:24:36

标签: c#

在CMD语言中,您可以像以下一样定义所有内容:del C:\randomfiles\* 这意味着您一次选择所有文件。我有代码var names = new List<System.Drawing.Color> { Red, DarkRed, 1000 colors later... };,但我不想用各种颜色,因为这可能需要数年......我怎么能像CMD语言一样定义所有颜色? 编辑:这与:How do I enumerate an enum?不一样,因为我想要所有颜色,而不是花费多年时间写出所有颜色....

1 个答案:

答案 0 :(得分:5)

要创建所有颜色的列表,您可以使用类似

的内容
List<Color> allColors = new List<Color>();
foreach (KnownColor col in Enum.GetValues(typeof(KnownColor)))
{
    Color c = Color.FromKnownColor(col);
    if(!c.IsSystemColor)
        allColors.Add(c);
}   

KnownColor是一个枚举,这将允许我们使用简单的foreach遍历所有定义。

当然,如果你还想要系统颜色(WindowText,ControlText等等),请删除对IsSystemColor的检查