C# 开关盒返回“;“需要一个常量值”;
我四处搜索,其他有这个问题的人都在使用.ToString方法,我没有,所以我不知所措 在最后一行,我得到一个返回值“预期为常量值” 我知道如果我删除了赋予枚举值的部分,它就会起作用,但这有点违背了我使用枚举的目的。关于实现这一目标的最佳方法有什么建议吗C# 开关盒返回“;“需要一个常量值”;,c#,visual-studio,visual-studio-2013,enums,C#,Visual Studio,Visual Studio 2013,Enums,我四处搜索,其他有这个问题的人都在使用.ToString方法,我没有,所以我不知所措 在最后一行,我得到一个返回值“预期为常量值” 我知道如果我删除了赋予枚举值的部分,它就会起作用,但这有点违背了我使用枚举的目的。关于实现这一目标的最佳方法有什么建议吗 public enum Colors { Blue = "0000FF", Red = "FF0000", Green= "00FF00" } pri
public enum Colors
{
Blue = "0000FF",
Red = "FF0000",
Green= "00FF00"
}
private void colorstuff(Colors Color){
switch (Color ){
case Colors.Blue:
}
}
**编辑,以便我知道枚举不能有字符串类型。有人能推荐一种制作一组字符串类型的方法吗?如果我只是申报
const Blue = "0000FF",
const Red = "FF0000",
const Green= "00FF00"
它们之间没有连接。枚举基于int数据类型,因此需要如下声明它们:
Blue = 0x0000FF
或者声明一个类:
public static class MyColours
{
public const string Blue = "0000FF";
}
亲爱的,您不能这样定义枚举,因为它是int类型
public enum Colors
{
Blue = 0000FF,
Red = FF0000,
Green= 00FF00
}
为什么不在枚举中添加颜色值作为属性,并在需要使用字符串值时使用扩展方法呢?我对c#非常陌生。你能举个例子吗?@cade Enums不能有字符串类型…所以我的Enum部分甚至无法编译?很好。默认情况下,
int
,但是您也可以将其他基于整数的类型指定为基础类型。上面的示例只是我的示例中的伪代码。我需要一个字符串值的东西。我需要一个底层值作为字符串,我希望它能像枚举一样工作,而不是仅仅通过声明const string Blue=“0000FF”来分离常量;我如何创建一组都具有字符串值的常量?如果我创建一个新的公共类并将子常量也公开,会怎么样。这看起来是个不错的选择吗?是否有人使用此方法发现任何潜在问题?这似乎是一种奇怪的方法。code公共静态类颜色{public String Value=“”;public const String Blue=“0000FF”;public const String Red=“FF0000”;public const String Green=“00FF00”;}您的代码不会“编译”。它应该如何回答OP的问题?