Оператор ( - ) не определен для типов 'char' и integer
Здравствуйте, у меня есть несколько кодов на c#, которые я преобразовал в vb, а затем он выдает эту ошибку, говоря
operator (-) is not defined for types 'char' and integerи это прекрасно работает в c#.
вот код C# и VB кода
else if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')) { // get the character's value byte v = (byte)(c - 0x30); if (c >= 'A' && c <= 'F') v = (byte)(c + 0x0a - 'A'); if (c >= 'a' && c <= 'f') v = (byte)(c + 0x0a - 'a'); if (gotFirstChar == false) { gotFirstChar = true; accum = v; }
в vb это преобразованный код
ElseIf (c >= "0"c AndAlso c <= "9"c) OrElse (c >= "A"c AndAlso c <= "F"c) OrElse (c >= "a"c AndAlso c <= "f"c) Then ' get the character's value Dim v As Byte = CByte(c - &H30) If c >= "A"c AndAlso c <= "F"c Then v = CByte(c + &HA - "A"c) End If If c >= "a"c AndAlso c <= "f"c Then v = CByte(c + &HA - "a"c) End If If gotFirstChar = False Then gotFirstChar = True accum = v
Что я уже пробовал:
ElseIf (c >= "0"c AndAlso c <= "9"c) OrElse (c >= "A"c AndAlso c <= "F"c) OrElse (c >= "a"c AndAlso c <= "f"c) Then ' get the character's value Dim v As Byte = CByte(c - &H30) If c >= "A"c AndAlso c <= "F"c Then v = CByte(c + &HA - "A"c) End If If c >= "a"c AndAlso c <= "f"c Then v = CByte(c + &HA - "a"c) End If If gotFirstChar = False Then gotFirstChar = True accum = v
Jochen Arndt
Я отредактировал этот вопрос, потому что весь вид страницы был испорчен некоторыми HTML-тегами в разделе "Что я пробовал".