I want to split a string in C#.NET that looks like this:
string Letters = "hello";
and put each letter (h, e, l, l, o
) into an array or ArrayList. I have no idea what to use as the delimiter in String.Split(delimiter)
. I can do it if the original string has commas (or anything else):
string Letters = "H,e,l,l,o";
string[] AllLettersArray = Letters.Split(",".ToCharArray());
But I have no idea what to use in a case with (supposedly) no delimiter. Is there a special character like Environment.Newline
? Thanks.
Remember, you can access a string as an array in c#.
string str = "hello";
char[] letters = str.ToCharArray();
Here is another full solution that uses a loop. This takes a regular string "helloworld"
and puts each character into an array as a string. The most straightforward method without using LINQ or other references.
string str = "helloworld";
string[] arr = new string[str.Length];
for(int i=0; i<str.Length; i++)
{
arr[i] = str[i].ToString();
}
This can be added to your codebase as an extension method.
public static class StringExtensions
{
public static string[] ToStringArray(this string str)
{
string[] arr = new string[str.Length];
for(int i=0; i<str.Length; i++)
{
arr[i] = str[i].ToString();
}
return arr;
}
}
And then you have a 1 liner for the conversion.
string str = "helloworld";
string[] arr = str.ToStringArray();