标签: enums

.NET - 枚举的jSON序列化为字符串

我有一个包含enum属性的类,在使用时序列化对象时JavaScriptSerializer,我的json结果包含枚举的整数值而不是它的string"name".有没有办法让枚举作为string我的json而不必创建自定义JavaScriptConverter?也许有一个属性,我可以装饰enum定义,或对象属性,?

举个例子:

enum Gender { Male, Female }

class Person
{
    int Age { get; set; }
    Gender Gender { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

期望的json结果:

{ "Age": 35, "Gender": "Male" }
Run Code Online (Sandbox Code Playgroud)

c# asp.net enums json javascriptserializer

1088
推荐指数
22
解决办法
42万
查看次数

Objective-C中的typedef枚举是什么?

我不认为我从根本上理解它enum是什么,何时使用它.

例如:

typedef enum {
    kCircle,
    kRectangle,
    kOblateSpheroid
} ShapeType;
Run Code Online (Sandbox Code Playgroud)

这里真的被宣布了什么?

enums typedef objective-c

1081
推荐指数
8
解决办法
43万
查看次数

枚举的字符串表示形式

我有以下枚举:

public enum AuthenticationMethod
{
    FORMS = 1,
    WINDOWSAUTHENTICATION = 2,
    SINGLESIGNON = 3
}
Run Code Online (Sandbox Code Playgroud)

然而问题是,当我要求AuthenticationMethod.FORMS而不是id 1时,我需要"FORMS"这个词.

我找到了以下解决此问题的方法(链接):

首先,我需要创建一个名为"StringValue"的自定义属性:

public class StringValue : System.Attribute
{
    private readonly string _value;

    public StringValue(string value)
    {
        _value = value;
    }

    public string Value
    {
        get { return _value; }
    }

}
Run Code Online (Sandbox Code Playgroud)

然后我可以将此属性添加到我的枚举器:

public enum AuthenticationMethod
{
    [StringValue("FORMS")]
    FORMS = 1,
    [StringValue("WINDOWS")]
    WINDOWSAUTHENTICATION = 2,
    [StringValue("SSO")]
    SINGLESIGNON = 3
}
Run Code Online (Sandbox Code Playgroud)

当然我需要一些东西来检索StringValue:

public static class StringEnum
{
    public static string GetStringValue(Enum value)
    { …
Run Code Online (Sandbox Code Playgroud)

c# enums

897
推荐指数
19
解决办法
75万
查看次数

一个'for'循环迭代Java中的枚举

我有一个enumJava用于基数和中间方向:

public enum Direction {
   NORTH,
   NORTHEAST,
   EAST,
   SOUTHEAST,
   SOUTH,
   SOUTHWEST,
   WEST,
   NORTHWEST
}
Run Code Online (Sandbox Code Playgroud)

如何编写for循环遍历每个enum值的循环?

java enums for-loop

854
推荐指数
10
解决办法
45万
查看次数

我应该如何将字符串转换为C#中的枚举?

在C#中将字符串转换为枚举值的最佳方法是什么?

我有一个包含枚举值的HTML选择标记.发布页面时,我想获取值(将以字符串的形式)并将其转换为枚举值.

在一个理想的世界里,我可以这样做:

StatusEnum MyStatus = StatusEnum.Parse("Active");
Run Code Online (Sandbox Code Playgroud)

但那不是有效的代码.

c# string enums

797
推荐指数
17
解决办法
63万
查看次数

如何将枚举转换为C#中的列表?

有没有办法将一个转换为enum包含所有枚举选项的列表?

.net c# enums

572
推荐指数
10
解决办法
37万
查看次数

如何枚举String类型的枚举?

enum Suit: String {
    case spades = "?"
    case hearts = "?"
    case diamonds = "?"
    case clubs = "?"
}
Run Code Online (Sandbox Code Playgroud)

例如,我该怎么做:

for suit in Suit {
    // do something with suit
    print(suit.rawValue)
}
Run Code Online (Sandbox Code Playgroud)

结果示例:

?
?
?
?
Run Code Online (Sandbox Code Playgroud)

string enums enumerate swift

510
推荐指数
17
解决办法
22万
查看次数

可以枚举枚举以添加新元素吗?

我想采用现有的枚举并添加更多元素,如下所示:

enum A {a,b,c}

enum B extends A {d}

/*B is {a,b,c,d}*/
Run Code Online (Sandbox Code Playgroud)

这在Java中可行吗?

java enums

508
推荐指数
10
解决办法
36万
查看次数

在Go中表示枚举的惯用方法是什么?

我试图代表一个简化的染色体,它由N个碱基组成,每个碱基只能是一个{A, C, T, G}.

我想用枚举来形式化约束,但我想知道在Go中模仿枚举的最惯用方法是什么.

enums go genetics

478
推荐指数
11
解决办法
26万
查看次数

什么是枚举,为什么它们有用?

今天我正在浏览这个网站上的一些问题,我发现提到了一个enum 单独使用模式的关于这种解决方案所谓的线程安全的好处.

我从来没有使用过enums,而且我已经用Java编程了好几年了.显然他们改变了很多.现在他们甚至在自己内部全力支持OOP.

现在为什么我应该在日常编程中使用枚举?

java enums

464
推荐指数
13
解决办法
28万
查看次数