2012-04-01 46 views
0

假設我有一個內容之間具有任意增量的枚舉。像這樣:如何通過項目之間的任意增量枚舉枚舉

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

現在我想通過它們來枚舉。如果每個項目的內容都增加1,那麼使用簡單的for循環就很容易了。在繼續操作之前,我仍然可以使用for但在example enum中測試每個選項,但這看起來相當低效。有枚舉通過枚舉的標準方式嗎?

+0

我找到了答案[這裏] [1]。 [1]:http://stackoverflow.com/questions/105372/how-to-enumerate-an-enum – johnbakers 2012-04-03 15:22:58

+0

這實際上是不能解決問題的,至少,如果你的一個尋找一個解決方案Objective-C(如你所標記的)。答案適用於C#。 – Matthias 2012-04-03 15:31:52

回答

2

enums基本上是整型常量。模擬集(我猜,這是你想要的)使用dictionaries。然後,您可以輕鬆遍歷所有元素。

+0

我不認爲這是完全正確的。我看過使用方法枚舉枚舉的例子,但這是針對順序排序的枚舉。 – johnbakers 2012-04-03 01:49:34

+0

當然你可以做到這一點,但這只是使用事實,即在這種情況下,* set *的數字也是一個*數列序列*。但是,在一般情況下並不是這樣。 – Matthias 2012-04-03 03:53:04

+0

答案被發現在這裏:http://stackoverflow.com/questions/105372/how-to-enumerate-an-enum – johnbakers 2012-04-03 15:23:12