我有兩個位域,一個是8位,另一個是4位。將位域映射到C#中的另一個位域
[Flags]
public enum Bits1 {
A = 1,
B = 2,
C = 4,
D = 8,
E = 16,
F = 32,
G = 64,
H = 128
}
[Flags]
public enum Bits2 {
I = 1,
J = 2,
K = 4,
L = 8
}
我需要在BITS1到BITS2的比特映射,如下:
Bits2 = Map(Bits1)
例如,假設A和C地圖至J,B映射到什麼,d映射到我在映射中,ABCD(值爲13)在通過map函數後返回IJ(值爲3)。
地圖應該能夠根據需要進行編程設置和更改。這聽起來像一個字典可能能做的事情,但我不知道如何設置它。在C#中完成此操作的最佳方法是什麼?
也許我可以根據我想要使用的映射生成一個位掩碼,然後將位掩碼應用到第一個位域? – GameKyuubi