我正在从plc中读取一个字符数组,但如果字符不是空的,则必须将其添加到字符串中,但就像图片中的一样,plc中的所有字符都是空的,但是在运行代码时,它还是会添加所有字符。我不明白问题出在哪里

代码:
String sealNumber = "";
for (int i = 90; i < 108; i++)
{
String c = S7.GetCharsAt(bufferLineToRead, i, 1);
if (c != "" && c != "?")
{
Console.WriteLine("STRINGA " + c);
sealNumber += c;
}
}发布于 2022-06-06 06:01:13
一个字符串可以是“空”(意思是里面没有字符),但是一个字符永远不可能是“空”。一个字符总是完全是一个字符。
这意味着您对c != ""的比较很可能是true,因为字符串中只有一个字符。
我不知道公司寄去了什么。可能是零字符(值为0的字符,而不是使字母可读的UNICODE数字)。
使用!string.IsNullOrWhiteSpace(c)可能会带来更好的运气,因为这将检查所有不被认为是“某事”的字符。
但是最终,您需要启动调试器并了解那里到底发生了什么。我们不能远距离这么做。
https://stackoverflow.com/questions/72513554
复制相似问题