Доброго времени суток.
У меня с COM порта считывается строка. Потом я проверяю равна ли эта строка заданной. Однако даже если я ввожу только один символ и он правильно отображается при выводе в консоль (скрин прикреплен) то сравнение у меня false. В чем причина ? В кодировке ?
Код | int count = port.BytesToRead; byte[] ByteArray = new byte[count]; port.Read(ByteArray, 0, count); string s = System.Text.Encoding.UTF8.GetString(ByteArray, 0, ByteArray.Length); Console.WriteLine("Input string: {0}", s);
string s1 = "D";
if (String.Compare(s, s1) == 0)
{ Console.WriteLine("Poradok: "); }
else
{ Console.WriteLine("Bezporadok: "); };
|
Если я в программе задаю сравнение строк просто заданных (а не введенных с COM порта) то они определяются как одинаковые, то есть все нормально
Код | string s2 = "D"; string s1 = "D";
if (String.Compare(s2, s1) == 0)
{ Console.WriteLine("Poradok: "); }
else
{ Console.WriteLine("Bezporadok: "); };
|
|