我查看了msdn上的SerialPort.Write()和SerialPort.WriteLine()方法,并尝试了一些简单的代码,例如下面的代码,但它们看起来与我非常相似。
有人可以用简单的术语解释主要区别是什么吗?
if (sendtoprint == true)
{
for (int i = 0; i < gcode.Count(); i++)
{
port.Write(gcode[i]);
}
和
if (sendtoprint == true)
{
for (int i = 0; i < gcode.Count(); i++)
{
port.WriteLine(gcode[i]);
}
和
if (sendtoprint == true)
{
for (int i = 0; i < gcode.Count(); i++)
{
port.Write(gcode[i]+"\r\n");
}
答案 0 :(得分:5)
来自WriteLine doc,位于顶部:
[WriteLine]将指定的字符串和写入NewLine值到输出缓冲区。
WriteLine将NewLine
字符添加到输出的末尾,而Write不添加。
因此SerialPort.Write("Hello")
会将"Hello"
输出到缓冲区。
并且SerialPort.WriteLine("Hello")
会将类似"Hello\n"
的内容输出到缓冲区。 (取决于当前的换行值)
答案 1 :(得分:5)
WriteLine附加指定的文本和换行符。 只写附加指定的文本。
例如:
Write("A");
Write("B");
Write("C");
会导致:ABC
但是:
WriteLine("A");
WriteLine("B");
WriteLine("C");
会导致:
A
B
C
答案 2 :(得分:1)
我认为唯一的区别是WriteLine
方法会添加\n
,因此下一个数据流将打印在新行上。 Console.Write()
和Console.WriteLine()
也是如此。