首页 > 解决方案 > 在 C# 中如何调用 {0}、{1} 等?

问题描述

在这段代码中:

Console.WriteLine("你好 {0}", name);

这个 {0} 怎么称呼?

我从 C# 开始,我已经看到了一些代码。

我有点知道它是如何工作的,但我为什么要使用("Hello {0}", name)而不是("Hello " + name)

标签: c#string

解决方案


因此,以下是 Format args 模式,类似于String.Format

Console.WriteLine("Hello {0}", name)

// or

Console.WriteLine(string.Format("Hello {0}", name));

如果你查看这个重载源代码,你会发现它实际上调用了WriteLineString.Format

WriteLine(string.Format(FormatProvider, format, arg0));

但是,您可以使用

Console.WriteLine("Hello " + name)

没有真正的区别1,但是您错过了所有额外的格式功能String.Format(尽管在您的情况下您并没有使用它们中的任何一个)

您还可以使用更现代的字符串插值

Console.WriteLine($"Hello {name}")

至于你想用什么,取决于你需要做什么,以及你对什么感到满意。都有自己的优点和缺点


进一步阅读

$ - 字符串插值(C# 参考)

String.Format 方法


1正如@Zero String.Format所指出的,实际上在内部做了很多工作,所以速度较慢。


推荐阅读