Bitwise Enumの順序を識別する賢明な方法はありますか?Bitwise Enumのソート順
は、例えば、この列挙型を取る:
[System.FlagsAttribute()]
internal enum AnswersSort : int
{
None = 0,
Bounty = 1,
MarkedAnswer = 2,
MostVotes = 4
}
私はさまざまな方法でこれらを組み合わせた場合:
var result = AnswersSort.MarkedAnswer | AnswersSort.MostVotes | AnswersSort.Bounty;
result = AnswersSort.MostVotes | AnswersSort.Bounty | AnswersSort.MarkedAnswer;
両方の結果が7であり、順序が失われました。配列やリストを使用せずにこれを行う方法はありますか?理想的には、私は列挙型を使って解決策を探していますが、どうやって可能かどうかわかりません。
あなたが注文したい場合アイテムの場合は、配列やその他のリスト構造が必要です。これは、あなたがなぜこのようなことをしたいのだろうと思っているという不思議な要求です。 –
私の頭はアレイやリストを使用していると言っていますが、私の直感はNAND、XORなどの束であり、これは例えば231,312などです。それは、私は値の連結を行うだろうBitwiseの組み合わせを探していないよ!明らかにこれは、10個未満の項目を持つ列挙型(配列やリストの場合はもちろん)を対象としています。ありがとうジム私はあなたが私の質問に答えたと思います。 –