Есть ли разница в производительности между объявлениями const и var в Roslyn? - PullRequest
0 голосов
/ 15 ноября 2018

В приложении .NET существует явное различие в производительности между этими двумя способами объявления строкового значения:

  1. const string MyConst = "value";

  2. var MyConst = "value";

Первый (# 1) является объявлением времени компиляции, поэтому при выполнении не происходит потери производительности по сравнению с последним (# 2), который будет выделять и инициализировать объект String при каждом выполнении строки кода. .

В моем проекте я использую Roslyn для компиляции пользовательских сценариев C # с использованием CSharpCodeProvider.CompileAssemblyFromSource, извлечения соответствующих методов (MethodInfo объектов) и хранения их в памяти для последующего вызова по мере необходимости.

У меня вопрос: применяются ли вышеупомянутые различия в производительности в этом случае? const, static и другие операторы, которые обычно находятся во время компиляции, все еще ведут себя таким образом, когда скрипт компилируется и выполняется в памяти, как описано выше?

...