Предполагая, что вы уже проверили на букву "O" против цифры "0" и подобных вещей, я бы предположил, что строка, которую вы видите в строковой переменной devPathName
, кодируется для отображения и не является ' не совсем то, что вы думаете.
Например, если строка содержит символ \x000d
(Control-M
), отладчик Visual Studio отобразит его как \r
при проверке значения строки.
Или, для другого примера, если строка содержит последовательность 3504 (три-пять-ноль-четыре), но вместо этого вы ищете 35O4
(три-пять-о-четыре), то вы не найдете соответствия ,
(В зависимости от вашего шрифта вы не сможете увидеть различия между некоторыми символами. Сравните «0O1lB8S5» с «0O1lB8S5
» в разных шрифтах, чтобы понять, что я имею в виду.)