Я не читал ни одного из них должным образом (должен вернуться к тому, чтобы сделать это когда-нибудь), но я слышал хорошие отзывы.
Предполагая, что вы используете C # 3, я бы попытался убедиться, что вы знакомы с:
Обобщения и то, что можно сделать с помощью вывода типов для универсальных методов
IEnumerable<T> и блоки итератора
LINQ в целом и LINQ to Objects в частности (другие разновидности LINQ полезны в некоторых местах - LINQ to Objects полезен почти везде)
Делегаты, особенно лямбда-выражения и анонимные методы
Инициализаторы объектов и коллекций
Методы расширения - помните о них и учитывайте их для служебных методов. В частности, они удобны, если вы хотите добавить свои собственные операторы LINQ.
personJon Skeetschedule03.02.2009
comment
Эти двое у меня на столе, и я начну с них, когда закончу твою книгу, Джон :)
- personGorpik; 06.02.2009
comment
Вы не должны быть скромными, чтобы упомянуть свою книгу. Я читаю это прямо сейчас, и это очень помогает :)
- personLDomagala; 07.02.2009
Если вы хотите убедиться, что стиль вашего кода соответствует рекомендациям Microsoft, взгляните на StyleCop. Да, это очень разборчиво, и я не полностью согласен со всеми правилами, но в общем случае он делает код более читаемым, который более согласован между разработчиками.
Это неплохое сравнение между C # и Java, которое встречается в большинстве идиом C #, но имейте в виду, что здесь работают две разные идиомы: идиомы C # и идиомы .NET. Например, в C # вполне допустимо использовать подчеркивание в идентификаторах, но не в VB.NET, поэтому, хотя это не является обязательным, рекомендуется никогда не использовать подчеркивание в общедоступных идентификаторах, чтобы VB.NET мог получить доступ их.
personplinthschedule03.02.2009
comment
К сожалению, похоже, что он застрял на C # 2 - с C # 3 появились различные идиомы.
- personJon Skeet; 03.02.2009
comment
У тебя не может быть всего. Куда бы вы его положили?
- personplinth; 03.02.2009
comment
Хотя это технически возможно, использование подчеркивания в идентификаторах C # не считается приемлемым.
- personGreg Beech; 04.02.2009