在 C# 配置文件的键值对中找到 {0} 是什么意思?

What does {0} mean when found in a key-value pair in C# config file?

我 运行 在我正在处理的项目的 App.config 中使用了 {0},但我找不到任何关于它如何工作的信息。我发现的唯一其他问题是 this question which explains how composite formatting 有效,但与它在 .config 文件中的使用无关

<?xml version="1.0" encoding="utf-8"?>
  <configuration>
    <appSettings>
      <add key="UriUpdateProfile" value="{0}/profiles/{1}" />
      ...
    </appSettings>
  </configuration>

在配置文件中没有任何意义。在代码中,这个文字字符串 "{0}/profiles/{1}" 将从配置中获取。然后,此字符串将用于复合格式化函数,例如 String.FormatConsole.WriteLine。在调用这些函数的代码中,您会找到填充 "{0}""{1}" 占位符的参数。

对于依赖于用户数据的硬编码字符串,这些类型的配置非常适合格式字符串。您的示例配置将被读取和更新

String.Format(uriUpdateProfile, variable0, variable1);

String.Format 接受大量变量并用传入的参数重新填充 {0}{1}。还有其他方法可以复制它,甚至简单的替换如 String.Replace("{0}", userID); 就足够了。