Расщепление строк в VB.Net - PullRequest
       18

Расщепление строк в VB.Net

0 голосов
/ 12 сентября 2010

У меня есть этот код:

Dim StringParts As New List(Of String)(OriginalString.Split(New Char() {"\"c}, StringSplitOptions.RemoveEmptyEntries))

При запуске StringParts всегда имеет один элемент, потому что StringSplitOptions.RemoveEmptyEntries = 1.

Как мне сказать VB.Net использовать правильную функцию и не понимать StringSplitOptions.RemoveEmptyEntries как параметр count?

Спасибо!

Примечание: Использование New String() {"\"} вместо New Char() {"\"c} работает. Это .Net ошибка?

Ответы [ 2 ]

2 голосов
/ 12 сентября 2010

Не вижу, в чем проблема:

Dim OriginalString = "part1\part2\part3"
Dim StringParts As New List(Of String)( _
    OriginalString.Split( _
        New Char() {"\"}, _
    StringSplitOptions.RemoveEmptyEntries _
    ) _
)

работает как положено.StringParts содержит 3 элемента.

2 голосов
/ 12 сентября 2010

Невозможно воспроизвести:

Imports System
Imports System.Collections.Generic

Public Class Test

    Public Shared Sub Main()
      Dim originalString As String = "a\b\c"
      Dim stringParts As New List(Of String)( _
          OriginalString.Split(New Char() {"\"c}, _
          StringSplitOptions.RemoveEmptyEntries))
      Console.WriteLine(stringParts.Count)
    End Sub    

End Class

Приведенный выше код печатает 3 (скомпилировано с VS2010 и VS2008, чтобы избежать проблемы с перегрузкой). В обоих случаях скомпилированный код равен , используя соответствующее значение перечисления, а не преобразовывая его в число.

Я подозреваю, что ваша проблема в другом месте. Пожалуйста, попробуйте отредактировать ваш вопрос с помощью короткой, но полной программы, которая демонстрирует проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...