7

[Flags] 属性なしでビット テストできることのポイントは何ですか?

4

2 に答える 2

11

Flags 属性を使用すると、呼び出し時に列挙型の CSV (カンマ区切り値) を確認できます。ToString()

例えば:

[Flags]
public Enum Permissions
{
  None =0,
  Read = 1,
  Write =2,
  Delete= 4
}

Permissions p = Permissions.Read | Permissions.Write;
p.ToString() //Prints out "Read, Write"

ただし、 flags 属性を削除して次のようにすると、同じ結果が得られます。

p.ToString("F") //Prints out "Read, Write"

また、John が指摘したように、CSV を Enum に変換して戻すこともできます。Enum.Parse

于 2010-07-30T11:43:32.183 に答える
5

文字列と列挙値 (Enum.ParseToString) の間の変換の動作を変更します。

于 2010-07-30T11:43:51.163 に答える