如果我想要存储一组与enum
类似的字符串常量,最好使用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";
}
答案 0 :(得分:6)
静态类在C#环境中更为传统。使用结构的主要缺点是您可能会意外地创建它的实例。静态类将阻止这种情况。 (在引擎盖下,静态类是abstract sealed
,所以你不能创建它的实例,也不能从它派生。你不能使结构抽象,也不能将无参数构造函数设为私有,所以那里无法创建一个" unconstructable" struct。)
这两种方法都不会对常量值的性能或行为产生任何影响。