加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在.Net中有没有办法获得int字的字符串值?

发布时间:2020-12-17 00:22:09 所属栏目:大数据 来源:网络整理
导读:例如: (1).SomeFunction().Equals("one")(2).SomeFunction().Equals("two") 在我正在使用的情况下,我真的只需要数字1-9,我应该只使用一个开关/选择案例吗? 更新我也不需要本地化. 更新2这是我最终使用的内容: Private Enum EnglishDigit As Integer zero
例如:
(1).SomeFunction().Equals("one")
(2).SomeFunction().Equals("two")

在我正在使用的情况下,我真的只需要数字1-9,我应该只使用一个开关/选择案例吗?

更新我也不需要本地化.

更新2这是我最终使用的内容:

Private Enum EnglishDigit As Integer
    zero
    one
    two
    three
    four
    five
    six
    seven
    eight
    nine
End Enum

(CType(someIntThatIsLessThanTen,EnglishDigit)).ToString()
枚举怎么样?
enum Number
{
    One = 1,// default value for first enum element is 0,so we set = 1 here
    Two,Three,Four,Five,Six,Seven,Eight,Nine,}

然后你可以输入像…这样的东西

((Number)1).ToString()

如果您需要本地化,则可以为每个枚举值添加DescriptionAttribute.属性的Description属性将存储资源项的密钥的名称.

enum Number
{
    [Description("NumberName_1")]
    One = 1,so we set = 1 here 

    [Description("NumberName_2")]
    Two,// and so on...
}

以下函数将从属性中获取Description属性的值

public static string GetDescription(object value)
{
    DescriptionAttribute[] attributes = null;
    System.Reflection.FieldInfo fi = value.GetType().GetField(value.ToString());
    if (fi != null)
    {
        attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute),false);
    }

    string description = null;
    if ((attributes != null) && (attributes.Length > 0))
    {
        description = attributes[0].Description;
    }

    return description;
}

这可以通过以下方式调用:

GetDescription(((Number)1))

然后,您可以从资源文件中提取相关值,或者如果返回null则只调用.ToString().

编辑

各种评论者指出(我必须同意)只使用枚举值名称来引用本地化字符串会更简单.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读