[Flags] 属性なしでビット テストできることのポイントは何ですか?
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.Parse
とToString
) の間の変換の動作を変更します。
于 2010-07-30T11:43:51.163 に答える