コード ブロックを C# から VB.NET に変換しようとしています。元のコード サンプルはここにあります (受け入れられた回答を参照してください)。
データを使用する XmlReader または XPathDocument を作成する前に、XML ベースのデータ ソースから無効な 16 進文字を削除するにはどうすればよいですか?
オンラインツールを使用して大まかな変換を行いましたが、 chchar オブジェクトが 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