перебор списка с помощью ForEach - PullRequest
4 голосов
/ 01 марта 2010

У меня есть такой список

Dim emailList as new List(Of String)
emailList.Add("one@domain.com")
emailList.Add("two@domain.com")
emaillist.Add("three@domain.com")

Как я могу перебрать список с помощью ForEach, чтобы получить одну строку с электронными письмами, подобными этой

one@domain.com;two@domain.com;three@domain.com

Ответы [ 5 ]

8 голосов
/ 01 марта 2010

Я не уверен, почему вы захотите использовать foreach вместо оператора String.Join. Вы можете просто String.Join () список, используя точку с запятой в качестве присоединяемого символа.

String.Join(";", emailList.ToArray())
2 голосов
/ 01 марта 2010

Я бы на самом деле не использовал цикл ForEach для этого. Вот что я бы сделал:

String.Join(";", emailList.ToArray());
2 голосов
/ 01 марта 2010

Вы можете попробовать

Dim stringValue As String = String.Join(";", emailList.ToArray)

Взгляните на String.Join Method

1 голос
/ 01 марта 2010
       Dim emailList As New List(Of String)
    emailList.Add("one@domain.com")
    emailList.Add("two@domain.com")
    emailList.Add("three@domain.com")

    Dim output As StringBuilder = New StringBuilder
    For Each Email As String In emailList
        output.Append(IIf(String.IsNullOrEmpty(output.ToString), "", ";") & Email)
    Next
0 голосов
/ 01 марта 2010
Dim emailList As New StringBuilder()

For Each (email As String In emails)
     emailList.Append(String.Format("{0};", email))
Next

Return emailList.ToString()

Простите, если есть какие-либо синтаксические ошибки ... мой VB.NET немного заржавел, и у меня нет удобного компилятора.

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