我想要实现一个非常简单的任务,但事情是以一种很好,简单的方式来完成。我们都希望编写易于维护,易于理解的代码。我有一个经验丰富的C#开发人员可能会帮助我的问题。在C中获取名称和枚举值的好方法#
我想创建一个dictionary
,其中keys
(string[]
)是enum values
和values
名称是其ecorresponding enum values
。如果这是混乱的,让我给你一个简单的例子:
enum Animals
{
Dog,
Cat,
Fish
}
Dictionary<string, Animals> result = new Dictionary<string, Animals>()
{
{ "Dog", Animals.Dog },
{ "Cat", Animals.Cat },
{ "Fish", Animals.Fish }
};
这里是我的方法:
一点延伸:
public static IEnumerable<T> GetValues<T>() => Enum.GetValues(typeof(T)).Cast<T>();
,然后建设:
var result = Utils
.GetValues<Animals>()
.ToDictionary(x => x.ToString(), x => x);
您如何有经验的开发人员以更清晰的方式处理此问题?或者也许有一个枚举的技巧,可以使像“快速查找给我一个枚举哪个名称满足我的条件”。
怎么样'Enum.TryParse'? –
是的,我想你只是想'Enum.TryParse'。虽然,形成了良好的问题。 – Jonesopolis