不使用Split函数将字符串转换为数组

时间:2010-01-08 02:05:32

标签: c# arrays string

有没有办法在不使用"abcdef"函数的情况下将字符串(["a","b","c","d","e","f"])转换为包含其字符(String.Split)的字符串数组?

5 个答案:

答案 0 :(得分:37)

所以你想要一个string数组,每个char一个:

string s = "abcdef";
string[] a = s.Select(c => c.ToString()).ToArray();

这可行,因为string实现了IEnumerable<char>。因此,Select(c => c.ToString())char中的每个string投射到表示stringchar ToArray的{​​{1}},并将结果转换为数组string

如果您使用的是旧版C#:

string s = "abcdef";
string[] a = new string[s.Length];
for(int i = 0; i < s.Length; i++) {
    a[i] = s[i].ToString();
}

答案 1 :(得分:9)

"abcdef".ToCharArray();

答案 2 :(得分:3)

您可以使用linq并执行:

string value = "abcdef";
string[] letters = value.Select(c => c.ToString()).ToArray();

这会得到一个字符串数组而不是一个字符数组。

答案 3 :(得分:3)

你为什么不

string value="abcd";

value.ToCharArray();

textbox1.Text=Convert.toString(value[0]);

显示字符串的第一个字母;在这种情况下,这将是'a'。

答案 4 :(得分:0)

比上面那些更大,但我没有看到任何简单的一个衬垫。

List<string> results = new List<string>; 

foreach(Char c in "abcdef".ToCharArray())
{
   results.add(c.ToString());
}


results.ToArray();  <-- done

string.split ???

有什么问题