Получение контактной информации


Как я могу улучшить этот код?

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);
    } 
} 


599
3
задан 17 марта 2011 в 07:03 Источник Поделиться
Комментарии
3 ответа

Это уже коротко и по делу. Одно небольшое изменение форматирования; я бы сделал свой класс свойства верхнего верблюда случае, что характерно для C#. Я тоже за сокращений.

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
ответ дан 17 марта 2011 в 07:03 Источник Поделиться

Нет ничего на самом деле комментарий здесь, так что давайте начнем придирки процесс:

1) я бы использовал вар для контактов. В любом случае у вас уже есть словарь<...> в той же строке. ВАР делает его немного менее шумным.
2) Нижний верблюд чехол для переменной контакты имени.

5
ответ дан 17 марта 2011 в 08:03 Источник Поделиться

Поскольку Skeeterburg и Snowbear уже под контролем, единственное изменение, которое я бы рекомендовал меняется адрес и контакты из классов структур. Вы же ничего не делаете по ссылке и вы не нужны изменяемые объекты. Это может очистить немного, так как вам не нужны геттеры и сеттеры. Структуры (ИМО) особенно полезны для этого типа передачи в JSON.

Там было хорошее обсуждение так об этом некоторое время назад:
https://stackoverflow.com/questions/85553/when-should-i-use-a-struct-instead-of-a-class

Также: поскольку структура создается в стеке, вы получите немного прироста производительности.
http://msdn.microsoft.com/en-us/library/aa288471(в=против 71).аспн

0
ответ дан 20 марта 2011 в 02:03 Источник Поделиться