首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么字符串的开头被覆盖而不是粘贴到末尾?

为什么字符串的开头被覆盖而不是粘贴到末尾?
EN

Stack Overflow用户
提问于 2016-03-27 16:29:19
回答 2查看 97关注 0票数 1

我在建一个温度记录仪。

截图:http://imgur.com/U74v4AT

代码语言:javascript
复制
while (true)
{
      string line = myport.ReadLine(); // line = *"T: 18.40"*

      if (line.StartsWith("T"))
      {
          line = line.Substring(3) + "°C";
          Console.WriteLine(line);
          // output is *"°C.40"* instead of *"T: 18.40°C"*                   
      }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-27 16:46:52

很可能您的输入行以"\r"结尾,控制台屏幕上的输出不能很好地表示该行的实际情况。

代码语言:javascript
复制
Console.WriteLine("18.40\r°C")

会在屏幕上看上去

°C.40

一种解决方案是清除来自myport的输入(我猜想是SerialPort?)

代码语言:javascript
复制
string line = myport.ReadLine(); // line = "T: 18.40\r"
line = line.Trim();              // remove all leading/trailing whitespace

但这不应该发生的。ReadLine()应该删除行的结尾。不知何故,您的myport.NewLine属性设置为"\n",而它应该是"\r\n"

票数 5
EN

Stack Overflow用户

发布于 2016-03-27 16:43:17

这句话很可能不是你所期望的那样。试试这个,它可能会更稳定。

代码语言:javascript
复制
line = line.Split(' ').Last() + "°C";
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36249788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档