1

コード ブロックを 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
4

3 に答える 3