コード ブロックを C# から VB.NET に変換しようとしています。元のコード サンプルはここにあります (受け入れられた回答を参照してください)。
データを使用する XmlReader または XPathDocument を作成する前に、XML ベースのデータ ソースから無効な 16 進文字を削除するにはどうすればよいですか?
オンラインツールを使用して大まかな変換を行いましたが、 ch
char オブジェクトが 16 進文字の範囲に対してチェックされている時点で例外があります。
If (ch < &HFD AndAlso ch > &H1F)
発生する例外はoperator < is not defined for types 'char' and 'integer'
. VB の解釈のどこが間違っているのでしょうか?
Function RemoveTroublesomeCharacters(inString As String) As String
If inString Is Nothing Then
Return Nothing
End If
Dim newString As New StringBuilder()
Dim ch As Char
For i As Integer = 0 To inString.Length - 1
ch = inString(i)
' remove any characters outside the valid UTF-8 range as well as all control characters
' except tabs and new lines
If (ch < &HFD AndAlso ch > &H1F) OrElse ch = ControlChars.Tab OrElse ch = ControlChars.Lf OrElse ch = ControlChars.Cr Then
newString.Append(ch)
End If
Next
Return newString.ToString()
End Function