Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Не опробуете с ZString (есть и через nuget) - https://github.com/Cysharp/ZString
return result.ToString();string str = result.ToString();
result.Length = 0; //псевдо вызов Dispose(), вдруг боооольшой текст будет:)
return str;result.AppendFormat(", {0}", list[i].ToString());result.Append(", ");
result.Append(list[i].ToString());result.Append( string.format(", {0}", list[i].ToString()) );(str == null || str.Length == 0) - очень быстро, труъ:)подумайте, что может быть, например, с extension method при наследовании классов и определении методов с такой же сигнатурой в наследуемом классе
MyClass.RunMe()т.к. методы-расширители менее приоритетны, чем собственные методы класса.
MyClass.RunMe()
MyAnotherNewClass.RunMe()
MyClass.RunMe()
MyClass.RunMe()
С# extension methods: простой, но полезный пример