如何在c#中使用Console.Writeline()编写两个字符串和它们的两个变量值
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
的第二次重载,但你的代码不是以这种方法可以理解的方式编写的。
有关更多信息,请参阅MSDN关于Console.WriteLine
方法的文档:
-
Console.WriteLine(string)
-
Console.WriteLine(string, params object[])
逗号的位置有语法错误。我猜你是想把它放在字符串里,把"符号"answers"频率"分开。然后,您需要一个额外的+
符号来连接字符串。
试试这个。您可以在字符串中指定占位符,然后指定之后将替换它们的参数:
Console.WriteLine("Symbol : {0}, frequency is : {1}", parentNode.symbol, code);
也更容易判断最终输出是什么。
您缺少一个"+"
Console.WriteLine("Symbol : " +parentNode.symbol + "frequency is : " + code );
^^^
有几种方法。首先,您可以使用.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 );
- 两个字符串在 c++ 中不相等
- 在C++的两个字符串中连接以逗号分隔的唯一值
- 如何从文件中读取两个字符串和数字数组,并将它们存储在对象向量中
- 比较两个字符串后卡在无限循环中
- 我已经建立了递归关系,它找到了两个字符串之间最长的连续公共字符串,我怎么能跳过其中一个字符串中的一个字符
- 使用XOR查找O(n)-解决方案中的两个字符串是否为变位符
- 如何将两个字符串加在一起,就好像它们是变量一样?
- 我需要帮助在一个类中输入两个字符串并获取其输出
- 两个字符串之间的数学运算
- sscanf() 有两个字符串参数
- 我的字符串数组一次打印出前两个字符串
- 两个 c++ 字符串上的异或
- 函数返回两个字符串的第一个常用字符
- 目标是找到两个 c 字符串之间的公共前缀(必须使用特定的函数标头)
- 我需要在C++的两个字符串之间找到共同的前缀
- 我有一个返回字符串向量的函数.它需要两个字符串,并且返回一个字符串中缺少的字符串
- 给定两个字符串 S 和 T.确定与 T 相差最小的 S 子字符串?
- gtest:检查字符串是否等于两个字符串之一
- 交换两个字符串时访问正确的内存时,我遇到了分段错误
- 我可以在系统()中使用两个字符串吗?