当前位置: 首页 > 编程语言 > C#

遍历所有颜色?Share

时间:2023-04-11 02:25:32 C#

循环遍历所有颜色?我正在使用C#(Windows-Phone-7)开发一个应用程序,我正在尝试做一些让我感到困惑的简单事情。我想遍历颜色中的每种颜色并将颜色名称写入文件(除其他外)。我有最简单的代码,我知道它不起作用,但我开始写:foreach(ColormyColorinColors){}当然,这给了我以下语法错误:'System.Windows.Media.Colors'is'类型”,但用作“变量”。有没有办法做到这一点?看起来真的很简单!您可以使用此辅助方法获取每种颜色的名称/值对字典。publicstaticDictionaryGetStaticPropertyBag(Typet){constBindingFlags标志=BindingFlags.Static|BindingFlags.公共|BindingFlags.NonPublic;varmap=newDictionary();foreach(varpropint.GetProperties(flags)){map[prop.名称]=prop.GetValue(null,null);}返回地图;目的是:varcolors=GetStaticPropertyBag(typeof(Colors));foreach(KeyValuePaircolorPairincolors){Console.WriteLine(colorPair.Key);颜色color=(Color)colorPair.Value;致谢helper方法如何使用反射获取C#静态类属性的名称?您可以使用反射来获取颜色类型中的所有属性:varcolorProperties=Colors.GetType().GetProperties(BindingFlags.Static|BindingFlags.Public);varcolors=colorProperties.Select(prop=>(Color)prop.GetValue(null,null));foreach(ColormyColorincolors){//....然后你可以使用这段代码。以上就是C#学习教程:循环遍历所有颜色?如果分享的内容对你有用,需要了解更多C#学习教程,希望大家多多关注——Listcolors=newList();foreach(stringcolorNameinEnum.GetNames(typeof(KnownColor))){//将colorName转换为KnownColorKnownColorknownColor=(KnownColor)Enum.Parse(typeof(KnownColor),colorName);//检查knownColor变量是否是系统颜色if(knownColor>KnownColor.Transparent){//将其添加到我们的列表中}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: