c# - 字符串插值

标签 c# string c#-6.0 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 的更详细讨论可以在这里找到:http://freecontent.manning.com/interpolated-string-literals-in-c/

关于c# - 字符串插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43510858/

相关文章:

c# - 为 JSON 提要定义嵌套类的最佳方式

c# - 多继承无多重继承无代码重复

c# - WPF 文本框文本更新

java - Java中如何区分大小写字母?

c# - 如何将数字字符串排序为数字?

c# - 通过关系检查和可能的坏数据逐行插入大量数据

java - 字符串作为不可变对象(immutable对象)

c# - 在没有路径位置的情况下启动.exe文件c#

c# - C#字符串插值是如何编译的?