Let's say I have a string like this.
Dim str As String = "code"
I need to break this string down to an array of characters like this,
{"c", "o", "d", "e"}
How can I do this?
Let's say I have a string like this.
Dim str As String = "code"
I need to break this string down to an array of characters like this,
{"c", "o", "d", "e"}
How can I do this?
Every string is an implicit char-array. So you can get the 3rd char by:
Dim char3 = str(2)
Edit: Just for the sake of completeness. You can also use String.ToCharArray
to convert the string instance to a new char-array
instance. The core benefit of using ToCharArray
is that the char-array you receive is mutable, meaning you can actually change each individual character.
Note that you could also use LINQ
. If you for example want the first three characters of a String:
Dim firstThree As Char() = str.Take(3).ToArray()
dim chars as Char() = str.ToCharArray()
Referencing @AlexeiLevenkov,
You can use String.ToCharArray to convert it to array of characters, or use ToArray if you like LINQ more:
Dim delimStr As String = " ,.:" Dim delimiter As Char() = delimStr.ToCharArray() "foo".ToArray()
(I added the above alternative as the duplicate question will be soon closed; it is worth keeping the LINQ alternative.)
I did some benchmarking and ToCharArray is approximately 30 times faster than LINQ's ToArray.
Try:
Dim str As String = "code"
' Use For Each loop on string.
For Each element As Char In str
Console.WriteLine(element)