首页 > 后端开发 > C++ > 如何将 C# 枚举映射到字符串?

如何将 C# 枚举映射到字符串?

Mary-Kate Olsen
发布: 2025-01-13 18:06:47
原创
878 人浏览过

How Can I Map C# Enums to Strings?

将 C# 枚举映射到字符串:解决方法

C# 枚举本质上使用整数类型,限制了它们与字符串的直接关联。 然而,一些有效的策略克服了这个限制。

一种方法利用类属性。 通过定义具有字符串属性的类,我们创建了一个模仿枚举行为的结构:

public class LogCategory
{
    public string Value { get; private set; }

    public static LogCategory Trace { get; } = new LogCategory("Trace");
    public static LogCategory Info { get; } = new LogCategory("Info");
    // ... other categories
}
登录后复制

这允许对字符串表示进行类型安全的访问:

public static void WriteLog(string message, LogCategory category)
{
    Logger.Write(message, category.Value);
}

// Usage:
WriteLog("Log message", LogCategory.Info);
登录后复制

或者,可以直接使用类型安全的字符串参数:

public static void WriteLog(string message, string category)
{
    // Add validation to ensure category is a valid value
    Logger.Write(message, category);
}

// Usage:
WriteLog("Log message", "Info");
登录后复制

这两种方法都增强了代码的可读性和灵活性,在需要字符串表示时为标准枚举的限制提供了实用的替代方案。 请注意,第二种方法需要仔细验证以确保仅使用有效的字符串类别。

以上是如何将 C# 枚举映射到字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板