Здається, оптимізація - це втрачене мистецтво в наші дні. Хіба не було часу, коли всі програмісти вичавлювали кожну унцію ефективності зі свого коду? Часто роблячи це, проходячи п’ять миль по снігу?
У дусі повернення втраченого мистецтва, які кілька порад ви знаєте для простих (або, можливо, складних) змін для оптимізації коду C # /. NET? Оскільки це настільки широка річ, яка залежить від того, що хтось намагається досягти, це допомогло б надати контекст вашій підказці. Наприклад:
- При об'єднанні багатьох рядків разом
StringBuilder
замість цього. Див. Посилання внизу щодо застережень щодо цього. - Використовуйте
string.Compare
для порівняння двох рядків, замість того, щоб робити щось подібнеstring1.ToLower() == string2.ToLower()
Загальний консенсус на даний момент, як видається, є ключовим. Цей тип пропускає сенс: вимірювання не говорить вам, що не так, або що з цим робити, якщо ви зіткнетеся з вузьким місцем. Одного разу я зіткнувся з вузьким місцем об’єднання рядків і не знав, що з цим робити, тому ці поради корисні.
Я маю на меті навіть розмістити цю публікацію, щоб мати місце для загальних вузьких місць і того, як їх можна уникнути, навіть не стикаючись з ними. Мова навіть не обов’язково про код підключення та відтворення, за яким слід сліпо слідувати, а більше про те, щоб зрозуміти, що про продуктивність слід думати хоча б дещо і що є деякі загальні підводні камені, на які слід звернути увагу.
Хоча я бачу, що може бути корисним також знати, чому підказка корисна і де її слід застосовувати. Для StringBuilder
підказки я знайшов допомогу, яку давно зробив тут, на сайті Джона Скіта .