在 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)];
}
Isn't Enumerable.Concat what you want?
The documentation has C# examples (along with others).