首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取联系信息

获取联系信息
EN

Code Review用户
提问于 2011-03-17 19:17:15
回答 3查看 516关注 0票数 3

如何改进这段代码?

代码语言:javascript
复制
public class Address {     
   public string house_no { get; set; }     
   public string street { get; set; }     
   public string zip { get; set; }
}
public class Contact {     
   public string email { get; set; }     
   public string ph_no { get; set; }     
   public Address address { get; set; } 
}

//Test program  
class Program {
    static void GetContacts(string input)   {
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        Dictionary<string, Contact> ContactList = serializer.Deserialize<Dictionary<string, Contact>>(input);        
    }

    static void Main(string[] args)     {  
        //jsonText is a string that I retrieve from a web service. 
        string jsonText = ws.GetContactList();
        GetContacts(jsonText);
    } 
} 
EN

回答 3

Code Review用户

发布于 2011-03-17 19:43:07

它已经很短,而且很关键。一个小的格式更改;我会将类属性设置为camel大小写,这对于C#来说是典型的。我也去掉了缩略语。

代码语言:javascript
复制
public class Address {     
   public string HouseNumber { get; set; }     
   public string Street { get; set; }     
   public string Zip { get; set; }
}

public class Contact {     
   public string Email { get; set; }     
   public string PhoneNumber { get; set; }     
   public Address Address { get; set; } 
}
票数 8
EN

Code Review用户

发布于 2011-03-17 20:25:27

这里没有什么可供实际回顾的,所以让我们开始nit-挑选过程吧:

1)我会用var做联系人。无论如何,您已经在同一行中使用了Dictionary<...>。这样就少了一点噪音。

( 2)变量Contacts名称的下骆驼情况。

票数 5
EN

Code Review用户

发布于 2011-03-20 14:32:13

由于Skeeterburg和斯诺熊已经介绍了基本知识,我所能回顾的唯一改变就是将地址和联系从类更改为结构体。您没有通过引用进行任何操作,也不需要可变的对象。因为您不需要getter和setter,所以它可以稍微清理一下。Structs (IMO)对于这种类型的JSON传递特别有用。

有一段时间关于这方面的讨论很好:https://stackoverflow.com/questions/85553/when-should-i-use-a-struct-instead-of-a-class

另外:由于结构是在堆栈上创建的,所以您确实可以获得一些性能改进。http://msdn.microsoft.com/en-us/library/aa288471(v=vs.71).aspx

票数 0
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/1329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档