[英]how to write two string and their two variables values using 1 Console.Writeline() in c#
我切换到c#,并希望使用c#中的Console.Writeline()函数在一行中写入两个变量值。
在C ++中,我可以这样做:
cout<<"symbol : "<<symbol<<"frequency : "<<frequency<<endl;
将打印:
symbol : a frequency : 10
我试图用C#来做,但是它只打印第一个变量,我这样做是这样的:
Console.WriteLine("Symbol : " +parentNode.symbol ,"frequency is : " + code );
仅打印symbol : 10
不打印频率 。
我尝试为两个都使用Console.WriteLine(),但这会改变行。
有什么帮助吗?
我认为您要实现的目标可以这样完成:
Console.WriteLine("Symbol : " + parentNode.symbol + " frequency is : " + code);
即Console.WriteLine(string)
但是更好的方法是使用以下重载Console.WriteLine(string, params object[])
:
Console.WriteLine("Symbol : {0} frequency is : {1}", parentNode.symbol, code);
从C#6开始,您可以使用字符串插值(请注意在字符串之前的$
):
Console.WriteLine($"Symbol : {parentNode.symbol} frequency is : {code}");
问题在于您的代码正在使用Console.WriteLine
的第二次重载,但是您的代码不是以该方法可以理解的方式编写的。
有关更多信息,请参见Console.WriteLine
方法上的MSDN文档:
您的逗号位置出现语法错误。 我的猜测是您打算将其放在字符串中,以分隔“符号”和“频率”。 然后,您需要一个附加的+
号来连接字符串。
试试这个吧。 您可以在字符串中指定占位符,然后指定随后将替换它们的参数:
Console.WriteLine("Symbol : {0}, frequency is : {1}", parentNode.symbol, code);
告诉您最终的输出看起来会更容易一些。
您缺少"+"
Console.WriteLine("Symbol : " +parentNode.symbol + "frequency is : " + code );
^^^
几种方法。 首先,可以使用.WriteLine()
.Write()
而不是.WriteLine()
,以便不包含回车符:
Console.Write("Symbol : " + parentNode.symbol);
Console.WriteLine("frequency is : " + code);
或者,您可以只在一个调用中将字符串连接在一起:
Console.WriteLine("Symbol : " + parentNode.symbol + " frequency is : " + code);
你的企图没有工作的原因是因为超载Console.WriteLine()
接受格式字符串和任意数量的可转换为字符串,并放置在格式字符串中的对象。 但是,您的第一个参数是不格式化占位符的字符串,因此第二个参数实际上被忽略了。
您可以使用诸如此类的格式化字符串,通常优于上述选项:
Console.WriteLine("Symbol : {0} frequency is : {1}", parentNode.symbol, code);
在这种情况下,方法调用具有三个参数,第一个是格式字符串(带有占位符),后两个是可以转换为字符串以放入这些占位符的对象。
你应该写
Console.WriteLine("Symbol : " + parentNode.symbol + "frequency is : " + code );
代替
Console.WriteLine("Symbol : " +parentNode.symbol ,"frequency is : " + code );
因为WriteLine()
期望第一个参数的格式以及格式或字符串的参数。
完成此任务的另一种方法是
Console.WriteLine("Symbol : {0} frequency is {1}", parentNode.symbol, code );
正如另一个答案所指出的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.