Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有标志枚举的C#设置_C#_.net_Enums - Fatal编程技术网

带有标志枚举的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