开发者

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???

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜