打印“Hello {0}”之类的字符串

时间:2016-07-07 12:08:00

标签: c# .net

在应用程序中,我从此格式stackoverflow.com?questionId={0}的配置中加载字符串。显然,它们在运行时填充并用于查询字符串。

我想在启动时使用以下方法记录这些字符串:

void log(string message, params object[] vars)
        {
            string s = String.Format(message, vars);
            Console.WriteLine(s);
        }

但正如您所期望的那样String.Format会引发异常,因为调用:log(String.Format("Adding new feed '{0}'", "stackoverflow.com?questionId={0}")) - String.Format会尝试在{log()'中替换{0}

有没有一种简单的方法可以转义{字符,因此不会尝试替换?

1 个答案:

答案 0 :(得分:1)

我找到了两个答案。

首先,我通过以下方式逃过了大括号:

log(String.Format("Adding new feed '{0}'", feedStr.Replace("{", "{{").Replace("}", "}}")));

这很好用。

其次如 MartinBrown 所示,我意识到我可以做到:

log("Adding new feed '{0}'", feedStr);