-1

在 C# 中将两个枚举的组合映射到第三个枚举的最佳方法是什么?

基本上,我需要一个具有可以接受 EnumerationA 和 EnumerationB 的静态方法的类,并且在该方法或类中,有一个静态映射,用于 X、Y 组合应该返回的枚举。

有人有什么好的例子吗?

4

2 回答 2

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)];
}
于 2013-08-19T18:03:47.397 回答
0

Isn't Enumerable.Concat what you want?

The documentation has C# examples (along with others).

于 2013-08-19T17:33:35.240 回答