看看这些C++代码:枚举类C++ -replacement-在C#
enum class Flag : int32 {
f_unread = (1 << 0),
f_out = (1 << 1),
f_mentioned = (1 << 4),
MAX_FIELD = (1 << 4),
};
什么是C#隐蔽这些代码的?
看看这些C++代码:枚举类C++ -replacement-在C#
enum class Flag : int32 {
f_unread = (1 << 0),
f_out = (1 << 1),
f_mentioned = (1 << 4),
MAX_FIELD = (1 << 4),
};
什么是C#隐蔽这些代码的?
Using Tangible。看起来好像差不多。
[Flags]
public enum Flag : int
{
f_unread = (1 << 0),
f_out = (1 << 1),
f_mentioned = (1 << 4),
MAX_FIELD = (1 << 4),
}
在C#,使用enum
作为标志操作位字段中,它应与FlagsAttribute
,其enum
之前添加[FlagsAttribute]
或[Flags]
加入。
当枚举类型的变量可以包含由枚举定义的值的组合时,将[Flags]属性添加到枚举声明中。 – NineBerry
@NineBerry - 完成,谢谢。 –
你不需要':int' - 这是默认值。 –
看看https://msdn.microsoft.com/en-us/library/system.flagsattribute.aspx。 – Thomas
看看https://msdn.microsoft.com/en-us/library/sbbt4032.aspx –
基于msdn n C#我们有两个名称用于组合enum-class,但在C++中我们有一个名称。 – MoonLight