相关疑难解决方法(0)

[Flags]枚举属性在C#中意味着什么?

我不时会看到如下的枚举:

[Flags]
public enum Options 
{
    None    = 0,
    Option1 = 1,
    Option2 = 2,
    Option3 = 4,
    Option4 = 8
}
Run Code Online (Sandbox Code Playgroud)

我不明白[Flags]-attribute 到底是做什么的.

任何人都可以发布一个很好的解释或示例?

c# enums flags

1383
推荐指数
12
解决办法
46万
查看次数

Enum.HasFlag无法正常工作

我有一个带有Flags的枚举:

[Flags]
public enum ItemType
{
    Shop,
    Farm,
    Weapon,
    Process,
    Sale
}
Run Code Online (Sandbox Code Playgroud)

然后,我在列表中有几个对象有一些标志设置和一些标志未设置。看起来像这样:

public static List<ItemInfo> AllItems = new List<ItemInfo>
{
        new ItemInfo{ID = 1, ItemType = ItemType.Shop, Name = "Wasserflasche", usable = true, Thirst = 50, Hunger = 0, Weight = 0.50m, SalesPrice = 2.50m, PurchasePrice = 5,  ItemUseAnimation = new Animation("Trinken", "amb@world_human_drinking@coffee@female@idle_a", "idle_a", (AnimationFlags.OnlyAnimateUpperBody | AnimationFlags.AllowPlayerControl)) },
        new ItemInfo{ID = 2, ItemType = ItemType.Sale, Name = "Sandwich", usable = true, Thirst = 0, Hunger = 50, Weight = …
Run Code Online (Sandbox Code Playgroud)

c# enums flags

1
推荐指数
1
解决办法
929
查看次数

标签 统计

c# ×2

enums ×2

flags ×2