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

将多个枚举组合成主枚举列表share

时间:2023-04-10 14:55:36 C#

将多个枚举组合成主枚举列表多个枚举可以组合在一起吗?这是我希望看到的代码示例:enumPrimaryColors{Red,Yellow,Blue}enumSecondaryColors{Orange,Green,Purple}//以某种方式将它们组合成一个新的枚举以产生:enumAllColors{Red,Orange,Yellow,Green,Blue,Purple}不管他们是什么顺序,或者他们的支持号是什么,我只想能够把他们组合起来。对于上下文,这是因为我正在处理的程序的多个类将具有与其所做的相关联的枚举。我的主程序将读取每个支持类中可用的所有枚举,并为可用命令创建可用枚举的主列表(枚举用于)。编辑:这些枚举的原因是因为我的主程序正在读取要在特定时间执行的命令列表,所以我想读取文件并查看其中的命令是否与我的枚举之一相关联,如果所以,把它放在要执行的命令列表中。不确定我是否理解准确。但是你可以像这样制作一个包含所有值的列表:varallColors=newList();allColors.AddRange(Enum.GetValues(typeof(PrimaryColors)).Cast());allColors.AddRange(Enum.GetValues(typeof(SecondaryColors)).Cast());除了List,您还可以使用HashSet。在任何情况下,因为您要将PrimaryColor或SecondaryColor分配给类类型(即System.Enum),所以您会装箱,但这只是一个技术细节(可能)。这些枚举的原因是因为我的主程序正在读取要在特定时间执行的命令列表,所以我想读取文件并查看其中的命令是否与我的枚举之一相关联,如果是,将它放在要执行的命令列表中。看起来你不需要三种不同的枚举类型,你想要一种类型(你称之为“主枚举”)加上一些方法来决定某个值属于哪个子枚举。您可以为此使用主枚举或开关的值集合。例如:enumColor{Red,Orange,Yellow,Green,Blue,Purple}boolIsPrimaryColor(Colorcolor){switch(color){caseColor.Red:caseColor.Yellow:caseColor.Blue:returntrue;默认值:返回假;此外,您应该为枚举类型使用单数名称(除非它是标志枚举)。保持简单,使用隐式int转换即可,或者使用System.Enum.Parse()函数:以上就是C#学习教程的全部内容:将多个枚举组合成主枚举列表,如果对大家有用的话还有需要多学习C#学习教程,希望大家多多关注——enumPrimaryColors{Red=0,Yellow=2,Blue=4}enumSecondaryColors{Orange=1,Green=3,Purple=5}//以某种方式将它们组合成一个新的枚举以产生:enumAllColors{Red=0,Orange,Yellow,Green,Blue,Purple}classProgram{staticAllColorsParseColor(Enumcolor){returnParseColor(color.ToString());}staticAllColorsParseColor(stringcolor){return(AllColors)Enum.Parse(typeof(AllColors),颜色);}staticvoidMain(string[]args){PrimaryColorscolor1=PrimaryColors.Red;AllColors结果=(AllColors)color1;//AllColors.RedSecondaryColorscolor2=SecondaryColors.Green;AllColors其他=(AllColors)color2;//AllColors.GreenAllColorsfinal=ParseColor(PrimaryColors.Yellow);//AllColors.Yellow}}本文收集自网络,不代表立场。侵权请点击右侧联系管理员删除。如需转载请注明出处: