2012-04-01 8 views
0

コンテンツ間に任意の増分を持つ列挙型があるとします。そうですね:項目間で任意の増分で列挙を列挙する方法

typedef enum {this=2,that=5,whoa=6}example; 

ここでそれらを列挙したいと思います。各項目ごとに内容が1ずつ増加した場合、単純なforループで簡単になります。私はまだforを使用することができますが、操作を進める前にexample enumの各オプションをテストしますが、それはむしろ非効率的です。 enumを使って列挙する標準的な方法はありますか?

+0

答え[ここ] [1]が見つかりました。 [1]:あなたはで解決策を探している場合、少なくとも、実際に答えではありませんhttp://stackoverflow.com/questions/105372/how-to-enumerate-an-enum – johnbakers

+0

Objective-C(タグ付けしたもの)答えはC#に適用されます。 – Matthias

答えて

2

enumsは、基本的に整数定数です。セットをシミュレートするには、dictionariesを使用してください。それで、すべての要素を簡単に反復することができます。

+0

これは完全に真実だとは思わない。私は、メソッドが列挙型を列挙するために使用される例を見てきましたが、それは順番付けされた列挙型のものでした。 – johnbakers

+0

もちろん、あなたはそれを行うことができますが、これは何も事実ではありません。この場合、数字の*集合*も数字の*シーケンス*です。しかし、これは一般的なケースでは当てはまりません。 – Matthias

+0

答えが見つかりました:http://stackoverflow.com/questions/105372/how-to-enumerate-an-enum – johnbakers