带有标志枚举的C#设置
我将枚举作为标志,如:带有标志枚举的C#设置,c#,.net,enums,C#,.net,Enums,我将枚举作为标志,如: [Flags] public enum ResultValues { None = 0, Red = 1, Yellow = 2, Green = 4, Other = 8 }; 在我的代码中,我可以连接这些标志,一切正常 现在,我将此枚举类型的变量存储在设置中。 如果我添加一个设置条目,我可以从上面将枚举设置为type,并选择/设置一个(!)值作为默认值(例如绿色) 逗号分隔: Flags f = Enum.Parse<F
[Flags]
public enum ResultValues
{
None = 0,
Red = 1,
Yellow = 2,
Green = 4,
Other = 8
};
在我的代码中,我可以连接这些标志,一切正常
现在,我将此枚举类型的变量存储在设置中。
如果我添加一个设置条目,我可以从上面将枚举设置为type,并选择/设置一个(!)值作为默认值(例如绿色)
逗号分隔:
Flags f = Enum.Parse<Flags>("Red,Yellow,Green");
Flags f=Enum.Parse(“红、黄、绿”);
只需用逗号分隔值,即可存储这些值:
<Value Profile="(Default)">Green, Other</Value>
这些是什么类型的设置(即这是什么类型的应用程序)以及如何设置值?您可以将设置存储为整数。红色+黄色=3。然后,您可以使用函数将3解析为红色|黄色。@Seabizkit在处理位标志0时始终表示无,因为状态将所有位设置为0。否则,值3将表示“无”和“红色”,这是没有意义的。@juharr是的,很抱歉,您的回答非常正确。我将删除。。。但他不会还在商店吗15@Seabizkit这是所有4个组合的值,可以存储在数据库中,但在xml文件中,通常需要更可读的名称,如建议的逗号分隔名称。
Flags f = Enum.Parse<Flags>("Red,Yellow,Green");
<Value Profile="(Default)">Green, Other</Value>
ResultValues.Green | ResultValues.Other