更好的方法是从枚举中返回字符串吗?还是有一个额外的字符串变量来保存字符串值? - c#

现在我有

    public enum EnumSize { Miniscule, Tiny, Small, Medium, Large, Huge, Giant }

我想返回字符串值,所以我做了一个switch语句来返回字符串值

    public string getSize()
    {
        string temp = "";
        switch (pSize)
        {
            case EnumSize.Miniscule: temp = "Miniscule"; break;
            case EnumSize.Tiny: temp = "Tiny"; break;
            case EnumSize.Small: temp = "Small"; break;
            case EnumSize.Medium: temp = "Medium"; break;
            case EnumSize.Large: temp = "Large"; break;
            case EnumSize.Huge: temp = "Huge"; break;
            case EnumSize.Giant: temp = "Giant"; break;
        }
        return temp;
    }

两种方式的缺点是什么?有更好的方法吗?
谢谢!

参考方案

您的getSize()方法可以简化为:

public string getSize()
{
    return pSize.ToString();
}

鉴于该方法确实如此简单,将其作为单独的方法提供似乎毫无意义。如果仅将pSize公开为属性(或只读属性),则用户可以仅对该属性调用ToString()

public EnumSize Size { get { return this.pSize; } }

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …

如何在Wiremock中为JUNIT匹配精确的json - java

我正在使用Wiremock在Spring启动应用程序中模拟Junit的REST服务。我的问题是,我无法匹配多个匹配模式。 Junit.javaStringValuePattern pattern = WireMock.matching(".*"); givenThat(post(urlEqualTo("/softwares�…

Spring Data Cassandra的事务管理 - java

我正在使用Spring和Cassandra作为基础数据库。曾提到过弹簧伞项目“ spring data cassandra”。与休眠不同,在这里无法找到如何管理事务。如果您中的某些人已经合并,请共享要包含的事务管理器的详细信息。 参考方案 Cassandra不支持传统(ACID)的事务。在某些特殊情况下,可以通过一些构造来实现事务原子性,例如原子批处理(请参…