字符串不起作用但控制台工作

时间:2013-06-24 10:05:33

标签: c# .net string

这可能是有史以来最愚蠢的问题,但为什么这不起作用,

string abc = (" my string = {0}  Your String = {1} " , myS, yourS);

当它像这样工作时,

Console.WriteLine(" my string = {0}  Your String = {1} " , myS, yourS);

5 个答案:

答案 0 :(得分:8)

因为Console.WriteLine内部做了类似的事情:

string abc = string.Format(" my string = {0}  Your String = {1} " , myS, yourS);

答案 1 :(得分:2)

Console.WriteLine在内部使用Composite Formatting,即String.Format

答案 2 :(得分:2)

您不会指定类似的字符串。您可以使用Join。或.Format会将{0}{1}替换为.WriteLine为您所做的各自值。

答案 3 :(得分:0)

您没有致电string.Format。您不能指望BCL只了解{0}{1}的含义......

答案 4 :(得分:0)

Console.WriteLine是一个方法,它接受多个参数。这就是为什么你可以使用这样的语法,但是当你在第一个例子中分配变量时,你不能以相同的方式传递参数。如其他答案中所述,Console.WriteLine使用String.Format方法。