串行输入字符串等于其他字符串不起作用

时间:2017-04-04 14:57:44

标签: c#

在编写比较2个字符串

的if语句时,我遇到了一个问题
String str1 = Serial.ReadLine(); //The serial reads "R_011"
str1.Trim();

if(str1 == "R_011"){
  //Action
}

这不起作用,因为它解释两个字符串都不同。

我意识到如果我用字符串替换Serial输入,我将它与

进行比较
str1 = "R_011";

它完美无缺,所以它必须与Serial读取的东西有关。

任何可以帮助我的人?感谢。

2 个答案:

答案 0 :(得分:7)

当您致电Trim()时,它会返回一个新字符串。在结果str1上设置结果。还可以尝试使用Equals方法和StringComparison参数来忽略大小写。试试这个:

string str1 = Serial.ReadLine(); 
str1 = str1.Trim();

if (str1.Equals("R_011", StringComparison.OrdinalIgnoreCase))
{
  //Action
}

答案 1 :(得分:-2)

尝试使用string而不是String,也可以尝试:

if(Convert.ToString(str1) == "R_011"){

//动作 }