在C#中將兩個枚舉的組合映射到第三個枚舉的最佳方式是什麼?將兩個枚舉映射到第三個枚舉
基本上我需要一個靜態方法的類,它可以接受EnumerationA和EnumerationB,並且在那個方法或類中有一個枚舉應該爲X,Y組合返回的靜態映射。
有沒有人有任何好的例子?
在C#中將兩個枚舉的組合映射到第三個枚舉的最佳方式是什麼?將兩個枚舉映射到第三個枚舉
基本上我需要一個靜態方法的類,它可以接受EnumerationA和EnumerationB,並且在那個方法或類中有一個枚舉應該爲X,Y組合返回的靜態映射。
有沒有人有任何好的例子?
你的問題真的不清楚,但這裏有一些猜測你想要什麼。
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)];
}
是不是Enumerable.Concat你想要什麼?
該文檔包含C#示例(以及其他示例)。
抱歉,我的描述需要改進。我正在嘗試創建一個映射。說枚舉A是動物,B是食物。如果有人通過Animals.Dogs,Foods.Treats,然後從第三個名爲BowserTreats的枚舉中引用一個值。 – jreed350z
我在想如果字典,EnumC>會解決我的問題。有效地,我不確定。 –
jreed350z
投票結果不清晰。 – jason
看看我的回答 –