0

我查看了 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");
                }
4

3 回答 3

6

WriteLine 附加指定的文本和换行符。Write 仅附加指定的文本。

例如:

Write("A");
Write("B");
Write("C");

将导致:ABC

然而:

WriteLine("A");
WriteLine("B");
WriteLine("C");

会导致:

A
B
C
于 2012-10-08T22:38:25.873 回答
5

在顶部的WriteLine doc中:

[WriteLine] 将指定的字符串NewLine 值写入输出缓冲区。

WriteLine 将NewLine字符添加到输出的末尾,而 Write 没有。

所以SerialPort.Write("Hello")会输出"Hello"到缓冲区。

并将SerialPort.WriteLine("Hello")输出类似于"Hello\n"缓冲区的内容。(取决于当前的换行值)

于 2012-10-08T22:36:09.887 回答
1

我相信唯一的区别是该WriteLine方法添加了,\n因此下一个数据流将打印在新行上。这对于Console.Write()和是一样的Console.WriteLine()

于 2012-10-08T22:42:18.360 回答