在 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.Format
或 Console.WriteLine
。在调用这些函数的代码中,您会找到填充 "{0}"
和 "{1}"
占位符的参数。
对于依赖于用户数据的硬编码字符串,这些类型的配置非常适合格式字符串。您的示例配置将被读取和更新
String.Format(uriUpdateProfile, variable0, variable1);
String.Format 接受大量变量并用传入的参数重新填充 {0}
和 {1}
。还有其他方法可以复制它,甚至简单的替换如 String.Replace("{0}", userID);
就足够了。
我 运行 在我正在处理的项目的 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.Format
或 Console.WriteLine
。在调用这些函数的代码中,您会找到填充 "{0}"
和 "{1}"
占位符的参数。
对于依赖于用户数据的硬编码字符串,这些类型的配置非常适合格式字符串。您的示例配置将被读取和更新
String.Format(uriUpdateProfile, variable0, variable1);
String.Format 接受大量变量并用传入的参数重新填充 {0}
和 {1}
。还有其他方法可以复制它,甚至简单的替换如 String.Replace("{0}", userID);
就足够了。