【发布时间】:2019-02-04 04:16:02
【问题描述】:
我定义了Enum和Dictionary如下。
现在在Dictionary,我想使用Linq 从Value 得到Key
enum Devices
{
Fan,
Bulb,
Mobile,
Television
};
Dictionary<int, Devices> dctDevices = new Dictionary<int, Devices>()
{
{1, Devices.Fan},
{2, Devices.Bulb},
{3, Devices.Mobile},
{4, Devices.Television}
};
我想要如下结果。我需要下面命名的具体方法。
int key = GetKeyFromValue(Devices.Bulb);
请建议我执行此操作的最佳方法。提前致谢
【问题讨论】:
-
对不起,它的计数器 1, 2, 3, 4
-
也许是个问题,为什么不用
Dictionary<Devices, int>代替呢? :P -
我正要和@VladiPavelka 说同样的话,为什么不使用设备作为密钥呢?
-
顺便说一句。如果您没有另外指定,
enum值基本上已经是int值(以0开头)。我不知道密钥实际上应该代表什么,但也许您的用例很简单:int key = (int)value + 1; -
对于设备,我可以理解,但这是实际要求。我不能,一开始就放字典。感谢您的建议。
标签: c#