将consts存储在struct或static类中

Han*_*ood 3 c# const

如果我有一组字符串常量我想要存储类似于a enum,最好使用a struct还是static class?例如:

public struct Roman
{
    public const string One = "I";
    public const string Five = "V";
    public const string Ten = "X";
}

public static class Roman
{
    public const string One = "I";
    public const string Five = "V";
    public const string Ten = "X";
}
Run Code Online (Sandbox Code Playgroud)

cdh*_*wie 6

静态类在C#环境中更为传统.使用结构的主要缺点是您可能会意外地创建它的实例.静态类将阻止这种情况.(引擎盖下的静态类abstract sealed,所以不能创建它的实例,也可以从它派生.你不能让一个结构的抽象,也可以使无参数的构造私人,所以没有方法来创建一个"不可构建的"结构.)

这两种方法都不会对常量值的性能或行为产生任何影响.