A List of Strings can be combined into one String. Alternatively a String can be converted into a List.
are useful for this purpose. We demonstrate them in these VB.NET examples.
To start, we have a List of Strings with three elements in it. With the newer versions of .NET, such as .NET 4.0, you can call String.Join directly on a List. This example takes each String element and joins them with commas.
Note:There is no comment at the end, only between two elements in the list at each location.
Tip:You can make this example compile in .NET 3.5 by using vals.ToArray() as the second argument to String.Join.
Program that uses String.Join: VB.NET Module Module1 Sub Main() ' Create list of three strings. Dim vals As List(Of String) = New List(Of String) vals.Add("dot") vals.Add("net") vals.Add("perls") ' Use string join function that receives IEnumerable. Dim value As String = String.Join(",", vals) Console.WriteLine(value) End Sub End Module Output dot,net,perls
You can also use the StringBuilder type to transform your List of any type of element into a single string. We use a For-Each looping construct and append the iteration variable and also a delimiter "|" after each element.
Then:We invoke the ToString function on the StringBuilder instance to acquire the result String.StringBuilder Examples
Please note:The result string has a delimiter at the end—this may not be desirable.
Program that uses StringBuilder: VB.NET Imports System.Text Module Module1 Sub Main() ' Example list. Dim vals As List(Of String) = New List(Of String) vals.Add("thank") vals.Add("you") vals.Add("very") vals.Add("much") ' Create StringBuilder. ' ... Append all items in For Each loop. Dim builder As StringBuilder = New StringBuilder() For Each val As String In vals builder.Append(val).Append("|") Next ' Convert to string. Dim res = builder.ToString() Console.WriteLine(res) End Sub End Module Output thank|you|very|much|
Continuing on, you often need to take a String and convert it into a collection such as a List of Strings. To do this, you can invoke the Split function on the String input, and then call the ToList extension method on the array you get.Split String Examples
Note:You will need a newer version of .NET to have the ToList extension method.
Finally:The example demonstrates that the result List has the correct three elements.
Program that uses Split: VB.NET Module Module1 Sub Main() ' Input string. Dim value As String = "Dot-Net-Perls" ' Split on hyphen. Dim arr() As String = value.Split("-") ' Convert to List. Dim vals As List(Of String) = arr.ToList() ' Display each List element. For Each val As String In vals Console.WriteLine(val) Next End Sub End Module Output Dot Net Perls
We converted between Lists and Strings. Typically, using String.Join and Split are the most effective ways to perform these conversions, as the code is well-tested and already developed. But using StringBuilder can also be effective.