2015-11-03 40 views
-2

我一直在試圖找出增加對飛對數據的最佳方式:建模最佳方式未知長度列表,包含枚舉對?

enum Enums 
    { 
     blue, 
     green, 
     red, 
     yellow 
    } 

List<List<Enums>> comboEnums = new List<List<Enums>>(); 

List<Enums> twoColors = new List<Enums>(); 

twos.Add(Enums.blue); 
twos.Add(Enums.green); 

comboEnums.Add(twoColors); 

,對一對正常工作,但添加任何額外的只是對他們追加到comboEnums列表明顯。

我想要的是comboEnums的每個佔位符都有一個新的twoColors實例。我可以看到可能的做法,但沒有足夠的經驗知道哪一個最好。這僅僅是一個項目,而不是一個真正的應用程序。

+0

這是不是很清楚你問什麼。什麼是「comboEnums的每個佔位符」?如果你有一些可能的方法,那就包括它們。如果代碼已經正常工作,你可能會在[codereview.se] – Jamiec

+5

上做的更好。可能你正在尋找Tuple? –

+0

只有兩種顏色的組合?或者更多? – Camo

回答

1

不確定問題,但標誌呢?

[Flags] 
enum Colours 
{ 
    none = 0, 
    blue = 1, 
    green = 2, 
    red = 4, 
    yellow = 8 
} 

List<Colours> comboColours = new List<Colours>(); 

//get a variable to hold our colours 
var twoColours; 

//add blue to the variable 
twoColours |= Colours.blue; 

//add green to the variable 
twoColours |= Colours.green; 


//add the colour to our collection 
comboColours.Add(twoColours); 

如果您需要每一對都是唯一的,請使用Dictionary而不是List。