在编写比较2个字符串
的if语句时,我遇到了一个问题String str1 = Serial.ReadLine(); //The serial reads "R_011"
str1.Trim();
if(str1 == "R_011"){
//Action
}
这不起作用,因为它解释两个字符串都不同。
我意识到如果我用字符串替换Serial输入,我将它与
进行比较str1 = "R_011";
它完美无缺,所以它必须与Serial读取的东西有关。
任何可以帮助我的人?感谢。
答案 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"){
//动作 }