【发布时间】:2010-01-08 02:05:31
【问题描述】:
有什么方法可以在不使用String.Split 函数的情况下将字符串 ("abcdef") 转换为包含其字符 (["a","b","c","d","e","f"]) 的字符串数组?
【问题讨论】:
有什么方法可以在不使用String.Split 函数的情况下将字符串 ("abcdef") 转换为包含其字符 (["a","b","c","d","e","f"]) 的字符串数组?
【问题讨论】:
所以你想要一组string,每个char:
string s = "abcdef";
string[] a = s.Select(c => c.ToString()).ToArray();
这是因为string 实现了IEnumerable<char>。所以Select(c => c.ToString()) 将string 中的每个char 投影到string,表示char 和ToArray 枚举投影并将结果转换为string 的数组。
如果您使用的是旧版本的 C#:
string s = "abcdef";
string[] a = new string[s.Length];
for(int i = 0; i < s.Length; i++) {
a[i] = s[i].ToString();
}
【讨论】:
是的。
"abcdef".ToCharArray();
【讨论】:
string 数组,而不是char 数组。请注意,如果您可以在string 中的每个char 之间的空char 上使用String.Split,则结果将是string[]。这似乎是他正在寻求的行为。
您可以使用 linq 并执行以下操作:
string value = "abcdef";
string[] letters = value.Select(c => c.ToString()).ToArray();
这会得到一个字符串数组而不是字符数组。
【讨论】:
你为什么不直接
string value="abcd";
value.ToCharArray();
textbox1.Text=Convert.toString(value[0]);
显示字符串的第一个字母;在这种情况下,这将是“a”。
【讨论】:
比上面的要大一点,但我没有看到任何简单的衬里。
List<string> results = new List<string>;
foreach(Char c in "abcdef".ToCharArray())
{
results.add(c.ToString());
}
results.ToArray(); <-- done
string.split 有什么问题???
【讨论】: