当前位置:  开发笔记 > 编程语言 > 正文

使用Enum.Parse()时出现意外结果

如何解决《使用Enum.Parse()时出现意外结果》经验,为你挑选了1个好方法。

我怀疑,这两个FirstValueTwo有1的内在价值,因此系统不知道哪个字符串输出.

public enum Numbers : int
{
    One, // defaults to 0
    Two, // defaults to 1
    Three, // defaults to 2
    Four, // defaults to 3
    FirstValue = 1 // forced to 1
}

每个枚举值都有一个唯一的整数值,但每个整数值都没有唯一的枚举值.

解析时"two",它将作为整数在内部存储1.然后,当您尝试将其转换回字符串时,根据用于查找该名称的技术,您可以获得"Two"或者"FirstValue".正如您所说,解决方案是为每个枚举值赋予一个定义的整数值.



1> Eclipse..:

我怀疑,这两个FirstValueTwo有1的内在价值,因此系统不知道哪个字符串输出.

public enum Numbers : int
{
    One, // defaults to 0
    Two, // defaults to 1
    Three, // defaults to 2
    Four, // defaults to 3
    FirstValue = 1 // forced to 1
}

每个枚举值都有一个唯一的整数值,但每个整数值都没有唯一的枚举值.

解析时"two",它将作为整数在内部存储1.然后,当您尝试将其转换回字符串时,根据用于查找该名称的技术,您可以获得"Two"或者"FirstValue".正如您所说,解决方案是为每个枚举值赋予一个定义的整数值.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有