2013-08-19 146 views
-1

在C#中將兩個枚舉的組合映射到第三個枚舉的最佳方式是什麼?將兩個枚舉映射到第三個枚舉

基本上我需要一個靜態方法的類,它可以接受EnumerationA和EnumerationB,並且在那個方法或類中有一個枚舉應該爲X,Y組合返回的靜態映射。

有沒有人有任何好的例子?

+0

我在想如果字典,EnumC>會解決我的問題。有效地,我不確定。 – jreed350z

+0

投票結果不清晰。 – jason

+0

看看我的回答 –

回答

1

你的問題真的不清楚,但這裏有一些猜測你想要什麼。

public enum A { X, ... } 
public enum B { Y, Z, ... } 
public enum C { Cat, Dog, ... } 

private static readonly Dictionary<Tuple<A, B>, C> lookup = 
    new Dictionary<Tuple<A, B>, C> 
    { 
     { Tuple.Create(A.X, B.Y), C.Cat }, 
     { Tuple.Create(A.X, B.Z), C.Dog }, 
     ...etc... 
    }; 

public static C Lookup(A a, B b) 
{ 
    return lookup[Tuple.Create(a, b)]; 
} 
0

是不是Enumerable.Concat你想要什麼?

該文檔包含C#示例(以及其他示例)。

+0

抱歉,我的描述需要改進。我正在嘗試創建一個映射。說枚舉A是動物,B是食物。如果有人通過Animals.Dogs,Foods.Treats,然後從第三個名爲BowserTreats的枚舉中引用一個值。 – jreed350z