c# - 改变枚举的数量是一个重大变化吗?

标签 c# enums

考虑以下代码:

public enum SomeCode
{
     NIF = 0
    ,NIE = 1
    ,CIF = 2
    ,PAS = 3
    ,NIN = 4
    ,SSN = 5
    ,OTH = 5
    ,UKN = 6
}

OTH = 5 更改为 OTH = 7 会是一个重大更改吗?


编辑:我从不存储 int 值,只存储枚举的文本表示形式。它可以在其他 DLL 中使用,但会使用相同的存储空间。

最佳答案

这是一个重大变化,因为您正在更改公共(public) API。

使用旧值构建的库/应用程序仍将保留并使用旧值。您将需要重新编译它们。

来自 MSDN - enum (C# Reference) :

Just as with any constant, all references to the individual values of an enum are converted to numeric literals at compile time. This can create potential versioning issues as described in Constants (C# Programming Guide).

关于c# - 改变枚举的数量是一个重大变化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3422178/

相关文章:

c# - 切换状态(C#/Windows 窗体)

c# - 使用 C# 组合框放置图像和字符串

c# - xsd.exe 将类生成为单独的文件?

c# - 这两个 XML 相同吗?

ios - typedef 枚举与 CGSize?

symfony - 在 Twig 中访问枚举值

c# - 没有可用的连接来服务此操作 : when using Azure Redis Cache

c# - 颜色数量减少的位图——它的大小不应该减小吗?

swift - 枚举 case 语句的计数

MySQL Enum 总是包含 '' (空字符串)的可能性