Условие if истинно, но поток программы переходит к другой части в vb
У меня возникли проблемы с куском кода в vb.net. При этом поток управления переходит в условие else, хотя значение if равно true.
Я использовал это в качестве ввода: WD-WXK0AC9T7316
код:
Private Function EncryptHDKey(ByVal Hd_no As String) As String
Dim EncryptedString As String = ""
For Each ch As Char In Hd_no
If ((ch >= "0" And ch <= "9") Or (ch >= "a" And ch <= "z") Or (ch >= "A" And ch <= "Z")) Then
If (Convert.ToChar((Convert.ToInt16(ch) + 4)) > "9" And ch <= "9") Then
EncryptedString = EncryptedString + Convert.ToChar((Convert.ToInt16(ch) + 3) - Convert.ToInt16("9"))
Else
If (Convert.ToChar((Convert.ToInt16(ch) + 4)) > "z" And ch <= "z") Then
EncryptedString = EncryptedString + Convert.ToChar(Microsoft.VisualBasic.Asc("a") + (Convert.ToInt16(ch) + 3) - Microsoft.VisualBasic.Asc("z"))
Else
If (Convert.ToChar(Convert.ToInt16(ch) + 4) > "Z" And ch <= "Z") Then
EncryptedString = EncryptedString + Convert.ToChar(Microsoft.VisualBasic.Asc("A") + (Convert.ToInt16(ch) + 3) - Microsoft.VisualBasic.Asc("Z"))
Else
EncryptedString = EncryptedString + Convert.ToChar(Convert.ToInt16(ch) + 4)
End If
End If
End If
Else
EncryptedString = EncryptedString + ch
End If
Next
Return (EncryptedString)
End Function
У меня пока нет прав на загрузку скриншота, поэтому я загрузил скриншот в этом месте. WWW (точка)freeimagehosting(точка) сети /y6ea3
1 ответ
Это может быть далеко, но так как вы сказали, что конвертируете старый проект в VS2010, стоит попробовать.
Возможно, проблема не в исходном коде, а в самой среде. Вполне возможно, что кодировка символов для более старого проекта отличается от кодировки, установленной в VS2010. Я говорю это потому, что кодировка по умолчанию в VS2005 отличалась от кодировки, установленной в VS2010. В криптологии такие мелочи, как метаданные проекта, также играют свою роль, которую многие обычно упускают из виду, считая, что с их исходным кодом что-то не так.
Поэтому убедитесь, что конфигурация среды проекта одинакова. Специально кодирование (как указано @varocarbas). Поиграйте с этим некоторое время.