Roslyn中的'const'和'var'声明之间在性能上有区别吗?

时间:2018-11-15 20:18:35

标签: c# .net performance roslyn

在.NET应用程序中,这两种声明字符串值的方式之间存在明显的性能差异:

  1. const string MyConst = "value";

  2. var MyConst = "value";

前者(#1)是编译时声明,因此与后者(#2)相比,后者在每次该行代码时都会分配并初始化String对象,因此在运行时不会造成性能损失被执行。

在我的项目中,我使用Roslyn使用CSharpCodeProvider.CompileAssemblyFromSource编译用户指定的C#脚本,提取相关方法(MethodInfo对象)并将其保留在内存中,以便以后根据需要调用。

我的问题是,在这种情况下上述性能差异是否仍然适用?如上所述,在内存中编译和执行脚本时,conststatic和其他通常在编译时的语句是否仍以这种方式运行?

0 个答案:

没有答案