我试图格式化这样的字符串,{Enum.Enum1,"Enum1String"}我试过这段代码
foreach (KeyValuePair<int, string> p in Helper.Dict)
{
// file.WriteLine(string.Format("{0} | {1}",p.Key,p.Value));
file.WriteLine(string.Format("{Enum.{0},\"{1}\"}", p.Value,p.Value));
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.如何以字符串格式添加{ 我在想使用stringbuilder.
我敢打赌,对你来说这是一个简单的问题,但是在搜索字符串中{或}在搜索字符串中搜索SO或Google时效果不佳.
那么,假设我想输出{Hello World},我该如何使用string.format(...)?
编辑:
看起来像这样:
string hello = "Hello World";
string.format("{0}", '{' + hello + '}');
Run Code Online (Sandbox Code Playgroud)
会做的工作,但这对我来说并不是很优雅.有没有办法在格式字符串中转义这些字符?
我试图在C#中执行字符串插值.我试图组合的输入字符串包含许多"{}"字符(因为它的javascript)似乎导致错误.
为什么我不能在C#中对这些字符串执行字符串插值?
string test = string.Format("{img: \"{0}\", html: \"{1}\"}", "images/a.png", "<div></div>");
// so the output should be
// "{img: \"images/a.png\", html: \"<div></div>\"}"
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
输入字符串的格式不正确.
你能告诉我如何实现我的字符串插值吗?
为什么我需要在以下字符串中加倍{但只有一个}?
static void Main()
{
Console.Write("a={0}, b={1}, c={{", 1, 2);
foreach (var i in Enumerable.Range(1, 5)) Console.Write("{0},",i);
Console.WriteLine("\b}");
}
Run Code Online (Sandbox Code Playgroud)
