如何在c#中创建字符串的常量静态数组?

如何在c#中创建字符串的常量静态数组?,c#,constants,C#,Constants,我想在我的DLL中提供一个常量列表 用法示例: MyDLL.AddHouse( HouseName, MyDll.HOUSETYPES.Big) MyDLL.AddHouse( HouseName, MyDll.HOUSETYPES.Small) 尝试: public static readonly string[] HOUSETYPES = { "Big", "Small" }; 但这只会让我: MyDLL.AddHouse( HouseName, MyDll.HOUSETYPES.T

我想在我的DLL中提供一个常量列表

用法示例:

MyDLL.AddHouse( HouseName, MyDll.HOUSETYPES.Big)
MyDLL.AddHouse( HouseName, MyDll.HOUSETYPES.Small)
尝试:

public static readonly string[] HOUSETYPES =
{
  "Big", "Small"
};
但这只会让我:

MyDLL.AddHouse( HouseName, MyDll.HOUSETYPES.ToString())

有什么想法吗?谢谢。

尝试使用枚举。在C#中,这是最好的选择

由于枚举是强类型的,因此您的API将采用枚举类型的值,而不是采用字符串的API

public enum HouseTypes
{
   Big,
   Small
}
MyDll.Function(HouseTypes Option)
{
}
然后可以通过枚举调用此代码

{
   MyDll.Function(HouseTypes.Big)
}

仅供参考,作为一种编码样式,C#中的所有大写字母仅用于常量。

尝试使用枚举。在C#中,这是最好的选择

public static class HouseTypes
{
    public const string Big = "Big";
    public const string Small = "Small";
}
由于枚举是强类型的,因此您的API将采用枚举类型的值,而不是采用字符串的API

public enum HouseTypes
{
   Big,
   Small
}
MyDll.Function(HouseTypes Option)
{
}
然后可以通过枚举调用此代码

{
   MyDll.Function(HouseTypes.Big)
}
仅供参考,作为一种编码样式,C#中的所有大写字母仅用于常量

public static class HouseTypes
{
    public const string Big = "Big";
    public const string Small = "Small";
}
遵循.NET命名标准命名类和变量是一个好主意。例如,类将被称为HouseTypes(Pascal大小写),而不是HouseTypes(大写)


遵循.NET命名标准命名类和变量是一个好主意。例如,类将被称为HouseTypes(Pascal大小写),而不是HouseTypes(大写)。

有没有不使用枚举的理由?有没有不使用枚举的理由?我认为即使是常量,也不建议使用所有大写字母。正确-微软的指导方针说,在C#中永远不要使用所有大写字母。我不认为所有的大写字母都被推荐,即使是常量也是如此。正确的-微软的指导方针说,所有大写字母都不应该用在C#中。