Xas*_*ser 8 c# string-interpolation c#-6.0
简短而简单.C#6.0中的新字符串插值是否依赖于反射?即
string myStr = $"Hi {name}, how are you?";
Run Code Online (Sandbox Code Playgroud)
在运行时使用反射来查找变量"name"及其值?
i3a*_*non 19
不,它没有.它完全基于编译时评估.
你可以看到这个TryRoslyn示例编译和反编译:
int name = 4;
string myStr = $"Hi {name}, how are you?";
Run Code Online (Sandbox Code Playgroud)
进入:
int num = 4;
string.Format("Hi {0}, how are you?", num);
Run Code Online (Sandbox Code Playgroud)
字符串插值也支持使用IFormattable结果(再次使用TryRoslyn):
int name = 4;
IFormattable myStr = $"Hi {name}, how are you?";
Run Code Online (Sandbox Code Playgroud)
变成这样:
int num = 4;
FormattableStringFactory.Create("Hi {0}, how are you?", new object[] { num });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
488 次 |
| 最近记录: |