2

この for ループよりも優れたアプローチはありますか?

基本的に、分割する文字列から作成された charArray 内の各文字について、その文字が文字、数字、またはハイフンの場合、一時的な文字列に追加します。分割文字または最後の文字が表示され、一時文字列に値がある場合は、それをコレクションに追加して返します。

    For i As Integer = 0 To (charArrayLength - 1)

        charToInspect = CChar(charArray.GetValue(i))

        If IsLetterOrDigit(charToInspect) Or charToInspect = hyphen Then
            tempString = tempString + charToInspect

            If i = (charArrayLength - 1) Then
               listOfStringToReturn.Add(tempString)
            End If

        ElseIf tempString.Length > 0 Then
            listOfStringToReturn.Add(tempString)
            tempString = String.Empty

        End If
    Next

    Return listOfStringToReturn
4

1 に答える 1

4

このロジックは、string.Splitメソッドによって既に提供されており、分割する可能性のある区切り文字のリストを受け取ります。

Return myString.Split("-"C)

より複雑な区切り文字がある場合は、 を参照してくださいRegex.Split

于 2012-05-24T21:17:56.383 に答える