如何声明enum
具有值的字符串?
private enum breakout {
page = "String1",
column = "String2",
pagenames = "String3",
row = "String4"
}
Run Code Online (Sandbox Code Playgroud)
Jar*_*Par 18
不,他们不能.它们仅限于底层枚举类型的数值.
但是,您可以通过辅助方法获得类似的行为
public static string GetStringVersion(breakout value) {
switch (value) {
case breakout.page: return "String1";
case breakout.column: return "String2";
case breakout.pagenames: return "String3";
case breakout.row: return "String4";
default: return "Bad enum value";
}
}
Run Code Online (Sandbox Code Playgroud)
Cod*_*ked 12
正如其他人所说,不,你不能.
你可以这样做静态类:
internal static class Breakout {
public static readonly string page="String1";
public static readonly string column="String2";
public static readonly string pagenames="String3";
public static readonly string row="String4";
// Or you could initialize in static constructor
static Breakout() {
//row = string.Format("String{0}", 4);
}
}
Run Code Online (Sandbox Code Playgroud)
要么
internal static class Breakout {
public const string page="String1";
public const string column="String2";
public const string pagenames="String3";
public const string row="String4";
}
Run Code Online (Sandbox Code Playgroud)
使用readonly,您实际上可以在静态构造函数中分配值.使用const时,它必须是固定的字符串.
或者将DescriptionAttribute分配给枚举值,就像这里一样.
不,但您可以将enum的值作为字符串获取:
private enum Breakout {
page,
column,
pagenames,
row
}
Breakout b = Breakout.page;
String s = b.ToString(); // "page"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7276 次 |
最近记录: |