在C#7中,我试图使用多行插值字符串与FormttableString.Invariant一起使用,但是字符串连接似乎对FormttableString无效。
根据文档:FormattableString实例可能来自C#或Visual Basic中的插值字符串。
以下FormttableString多行连接不会编译:
使用插值字符串而不进行连接是无法编译的:{{错误 CS1503-参数1:无法将"string"转换为"System.FormattableString"}}。
使用插值字符串进行连接是可以编译的:
你如何使用
根据文档:FormattableString实例可能来自C#或Visual Basic中的插值字符串。
以下FormttableString多行连接不会编译:
using static System.FormattableString;
string build = Invariant($"{this.x}"
+ $"{this.y}"
+ $"$this.z}");
使用插值字符串而不进行连接是无法编译的:{{错误 CS1503-参数1:无法将"string"转换为"System.FormattableString"}}。
使用插值字符串进行连接是可以编译的:
using static System.FormattableString;
string build = Invariant($"{this.x}");
你如何使用
FormattableString
类型实现多行字符串连接?
(请注意,FormattableString是在.NET Framework 4.6中添加的。)
this.x
是一样的。你正在尝试传递一个字符串,但是错误消息告诉你需要一个可格式化的字符串(FormattableString)。 - Selman Genç