c# - 字符串插值
c# - string interpolation
我是 C# 的初学者。到目前为止,我遇到了几种可用于将变量嵌入字符串值的方法。其中之一是在 C# 6.0 中引入的字符串插值。以下代码是字符串插值的示例。
int number = 5;
string myString = $"The number is {number}";
我想知道的是,与以下格式化字符串的方法相比,使用字符串插值是否有好处。
// first way
int number = 5;
string myString = "The number is " + number;
//second way
int number = 5;
string myString = string.Format("The number is {0}", number);
您展示的第一种方法将在内存中创建多个字符串。从记忆中我认为它创建了 number.ToString()
字符串,文字 "The number is "
字符串,然后是名称为 myString
的字符串
对于您展示的第二种方式,它非常简单:字符串插值编译为您使用的 string.Format()
方法调用。
编辑:第二种方式和插值也将支持格式说明符。
Jon Skeet can be found here: http://freecontent.manning.com/interpolated-string-literals-in-c/
的更详细讨论
我是 C# 的初学者。到目前为止,我遇到了几种可用于将变量嵌入字符串值的方法。其中之一是在 C# 6.0 中引入的字符串插值。以下代码是字符串插值的示例。
int number = 5;
string myString = $"The number is {number}";
我想知道的是,与以下格式化字符串的方法相比,使用字符串插值是否有好处。
// first way
int number = 5;
string myString = "The number is " + number;
//second way
int number = 5;
string myString = string.Format("The number is {0}", number);
您展示的第一种方法将在内存中创建多个字符串。从记忆中我认为它创建了 number.ToString()
字符串,文字 "The number is "
字符串,然后是名称为 myString
对于您展示的第二种方式,它非常简单:字符串插值编译为您使用的 string.Format()
方法调用。
编辑:第二种方式和插值也将支持格式说明符。
Jon Skeet can be found here: http://freecontent.manning.com/interpolated-string-literals-in-c/
的更详细讨论