Привет, по поводу строк в .net очень хорошо писали/переводили ребята на хабре:
habrahabr.ru/post/165597
habrahabr.ru/post/172627
Если вкратце - string это ссылочный тип с множеством переопределенных операций. Самой главной особенностью является создание новой строки при каждой операции (как у значимых типов), что нужно помнить при разработке. Во второй статье еще описан очень занятный механизм .net - интернирование строк. Неизменяемость строк ставит вопрос об их эффективной конкатинации, на который отвечает
тот самый Джон Скит:
www.yoda.arachsys.com/csharp/stringbuilder.html
По стандартам кодирования, если речь идёт о стиле, есть советы самих MS:
msdn.microsoft.com/en-us/library/ff926074.aspxResharper в своей стандартной конфигурации во многом повторяет эти советы и для выработки хорошего стиля можно рекомендовать стараться делать "зеленый" код по решарперу. Исключение составляет то, что решарпер любит сворачивать выражения foreach в цепочки вызовов LINQ, что очень негативно скажется на поддерживаемости и отлаживаемости кода.
Напоследок скажу, что по