我的意思是,例如我有这个带有 Id 和代码的语言对象列表:
{ Id = 1, Code = "N" },
{ Id = 2, Code = "E" },
{ Id = 3, Code = "D" }
但是我收到了这种格式的语言代码“NL”、“EN”、“DE”。
从列表中获取 Id 的最干净、最简单的方法是什么?
我试图在列表中进行扩展:
public static int GetLanguageId(
this IEnumerable<Language> languages,
string languageCode)
{
switch (languageCode)
{
...
}
}
int languageId = languageList.GetLanguageId(languageCode);
但我不确定该怎么做。有什么想法吗?
您可以简单地比较第一个字符
return languages.SingleOrDefault(lang => lang.Code[0] == languageCode[0]).Id;
在这种情况下你可以使用字典:
var dico = new Dictionary<string, int>()
{
{"N", 1 }, {"E", 2} , {"D", 3}
};
var langageCode = "NL";
var id = dico[langageCode[0]];