EnumGetValuestypeofMaterialClassCastMaterialClass怎么根据中文获取对应的id
要根据中文获取对应的id,你可以使用反向字典来实现。首先创建一个字典,将中文作为键,id作为值。然后通过反向字典来查找对应的id。
下面是一个示例代码:
using System;
using System.Collections.Generic;
using System.Linq;
public enum MaterialClass
{
Wood,
Metal,
Plastic
}
public class MaterialClassHelper
{
private static Dictionary<string, MaterialClass> nameToIdDict = new Dictionary<string, MaterialClass>
{
{ "木材", MaterialClass.Wood },
{ "金属", MaterialClass.Metal },
{ "塑料", MaterialClass.Plastic }
};
public static MaterialClass GetMaterialClassById(string chineseName)
{
return nameToIdDict[chineseName];
}
public static string GetChineseNameById(MaterialClass materialClass)
{
return nameToIdDict.FirstOrDefault(x => x.Value == materialClass).Key;
}
}
public class Program
{
public static void Main(string[] args)
{
string chineseName = "塑料";
MaterialClass materialClass = MaterialClassHelper.GetMaterialClassById(chineseName);
Console.WriteLine(materialClass); // 输出:Plastic
MaterialClass materialClass2 = MaterialClass.Plastic;
string chineseName2 = MaterialClassHelper.GetChineseNameById(materialClass2);
Console.WriteLine(chineseName2); // 输出:塑料
}
}
在上面的示例中,MaterialClassHelper 类中定义了一个反向字典 nameToIdDict,它将中文名称作为键,对应的 MaterialClass 枚举值作为值。通过调用 GetMaterialClassById 方法,你可以根据中文名称获取对应的 MaterialClass 枚举值。同样地,通过调用 GetChineseNameById 方法,你可以根据 MaterialClass 枚举值获取对应的中文名称
原文地址: https://www.cveoy.top/t/topic/iDOX 著作权归作者所有。请勿转载和采集!