SerialPort.Write()和SerialPort.WriteLine()之间的区别?

时间:2012-10-08 22:34:27

标签: c# methods serial-port msdn

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

3 个答案:

答案 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()也是如此。