串联和{}之间的差异

本文关键字:之间 | 更新日期: 2023-09-27 17:59:21

我想知道如果我放有什么区别

两者均参考string foo = "world";

 Console.WriteLine("Hello" + foo); //Concatenation 

 Console.WriteLine("Hello {0}", foo); //Whatever this is called (still a beginner guys)

串联和{}之间的差异

在使用string类型时,两者看起来相似。假设你与不同类型的人打交道。然后您将看到ConcatenationComposite Formatting之间的差异。

 int myInt = 2;
 Console.WriteLine("This is my int {0}", myInt);

假设现在您想在复合格式中放入更多类型:

 char  myChar = 'c';
 bool myBool = true;
 Console.WriteLine("This is my bool {0} and myChar {1}", myBool ,myChar );

但连接是将一个字符串附加到另一个字符串末尾的过程。使用+运算符连接字符串文字或字符串常量时,编译器会创建一个字符串。不发生运行时串联。但是,字符串变量只能在运行时连接。在这种情况下,您应该了解各种方法对性能的影响。

连接只是将两个字符串放在一起。这是几乎所有编程语言中都存在的一种极其常见的做法。

第二个例子叫做字符串格式化。这使您可以根据所使用的语言或框架,在很大程度上控制字符串显示时的外观。

这里有一个很好的链接来解释字符串格式。它使用string.Format()而不是控制台,但这个概念仍然适用。

第二个选项允许您进行更复杂的格式化。使用string没有什么好处,但如果使用double值,例如,可以使用复合格式选项来指定要显示的精度或其他选项。

这是一种字符串格式。

Console.Write所做的相当于:

String.Format("Hello {0}. I am {1} years old.", PersonName, PersonAge);

与相比,它只是以一种更容易理解的方式连接字符串

"Hello " + PersonName + ". I am " + PersonAge + " years old.";