首页 > 解决方案 > 从 C# 中的 JSON 将字符串插值到变量中

问题描述

我正在开发一个 C# 应用程序,在该应用程序中我动态地在运行时获取字符串,其中包含变量名。变量名称是带有关键参数的字典。字典也在动态填充。

我尝试使用字符串插值 ($) 和 string.Format 但没有运气,因为我在运行时得到了该字符串,而且我没有变量的数量和它必须使用格式的名称。PFB 示例场景。

Dictionary<string, string> inputs = new Dictionary<string, string>();
inputs["name"] = "John";
inputs["address"] = "NA"; //the key names are determined in runtime
string url = "xyz.com/zexample/set(person='{inputs[\"name\"]})"; //or
url = "xy.co/set(person='{inputs[\"name\"]},foo='{inputs[\"address\"]}')" 

请帮助我为这种情况提供一些解决方案,我需要用字典中的确切值动态替换 {} 值。我还提到了字典中的键和带有 {} 变量的字符串是在运行时生成的,并且会有所不同。

标签: c#

解决方案


看起来您在运行时获取了 URL 字符串,因此字符串插值不起作用。它们带有由{inputs["name"]}而不是{0}{1}等指示的插值,所以不要介意String.Format。


推荐阅读