向后移植 C# 内插字符串运算符 $

Backporting C# interpolated string operator $

我有一些代码想在旧版本的 c# 中重用

List<string> programId = new List<string>(){"1","2","3"}
string.Join(",", Id.Select(x => $"'{x}'"))

如何将 $ 运算符转换为旧版本的 C#?

这个怎么样?

string.Join(",", Id.Select(x => string.Format("'{0}'", x)))
$"'{x}'"

翻译成

string.Format("'{0}'", x)

在旧版本的 C# 中。

实际上,String Interpolation 版本只是编译器语法糖。如果反编译生成的程序集,您会发现它全部解析为 string.Format 调用。