Convert string to array in without using Split function
Is there any way to convert a string ("abcdef"
) to an array of string开发者_运维知识库 containing its character (["a","b","c","d","e","f"]
) without using the String.Split
function?
So you want an array of string
, one char
each:
string s = "abcdef";
string[] a = s.Select(c => c.ToString()).ToArray();
This works because string
implements IEnumerable<char>
. So Select(c => c.ToString())
projects each char
in the string
to a string
representing that char
and ToArray
enumerates the projection and converts the result to an array of string
.
If you're using an older version of C#:
string s = "abcdef";
string[] a = new string[s.Length];
for(int i = 0; i < s.Length; i++) {
a[i] = s[i].ToString();
}
Yes.
"abcdef".ToCharArray();
You could use linq and do:
string value = "abcdef";
string[] letters = value.Select(c => c.ToString()).ToArray();
This would get you an array of strings instead of an array of chars.
Why don't you just
string value="abcd";
value.ToCharArray();
textbox1.Text=Convert.toString(value[0]);
to show the first letter of the string; that would be 'a' in this case.
Bit more bulk than those above but i don't see any simple one liner for this.
List<string> results = new List<string>;
foreach(Char c in "abcdef".ToCharArray())
{
results.add(c.ToString());
}
results.ToArray(); <-- done
What's wrong with string.split???
精彩评论