例如,
string str= string.Format(@"<p style=""font-family:Times New Roman, serif;font-size: 12pt;"" >Total Qty {qty} on Date {0} </p>",dr["Date"]);
我想稍后替换qty。它抛出异常"Input string was not in a correct format"
。
有人能说出原因和可能的解决方案吗?
答案 0 :(得分:3)
我认为你应该这样使用:
string str= string.Format(@"Total Qty {{qty}} on Date {0}","01/01/2017");
将输出设为Total Qty {qty} on Date 01/01/2017
。您没有在qty
上给出任何注释,如果它是一个变量,并且您希望在{
和}
之间显示其值,那么您应该使用$
代替@
这次代码将是这样的:
int qty = 10;
string str = string.Format($"Total Qty : {qty} on Date : {{0}}","01/01/2017");
这次您将获得Total Qty : 10 on Date : 01/01/2017
答案 1 :(得分:2)
我认为您应该使用$
代替@
,因为。在String Interpolation
,我们只需在字符串前加上$(就像我们使用@作为逐字字符串一样)。然后,我们简单地用大括号(即{和})
int qty = 10;
string str = string.Format($"Total Qty {qty} on Date {{0}}","01/01/2017");
Console.WriteLine(str);
输出
2017年1月1日的总数量10
可以看到Working fiddle
答案 2 :(得分:1)