要根据中文获取对应的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 枚举值获取对应的中文名称

EnumGetValuestypeofMaterialClassCastMaterialClass怎么根据中文获取对应的id

原文地址: https://www.cveoy.top/t/topic/iDOX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录