请问怎么把一个字符串转变成一个数组?

现在有个字符串 str="abcd"
请问怎么把字符串变成一个数组,比如像这样的{"a","b","c","d"}

看你变成什么样的数组了,如果你从string再变成string[]没有多大意思的。纯属没事找麻烦,字符串再变成一个字符中的数组,有多大必要?肯定是没有必要的。

如果你是想变成所谓char的话,在字符串方法中有一个ToCharArray的方法的,该方法就是将字符串直接变成char[],一般可以满足你的要求的。

但大多数时间我们在转变时可能需要转变成byte之类的数组,而且在涉及中文等一个些双字节字符时还有不同的选择,那就是利用Encoding类来实现的。

byte[] result = Encoding.UTF8.GetBytes(str);将字符串按UTF8进行转换。
当然如果不是UTF8的话可以按相应的编码进行转换的。
byte[] result = Encoding.Default.GetBytes(str);等等,可以选择不同的编码类型,当然转换出的byte[]与char[]其实区别不大的,两者都是数组,基类相同,只不过可以实现不再的方法而已。

如果你是在高版本的.netframework中,其实string是支持lambda表达式的,而在Lambda表达式可以通过ToArray<T>方法来进行转换的,同时只需要说明T是什么类似就可以了!

总之,转换方法有很多,具体哪一个适合你那可不一定,如果再不行你也学学他们,用一个循环自己截去——当然这是开玩笑的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-16
最笨的方法是字符串的截取啊
然后再给数组赋值
char a[4];
for(int i=0;i<4;i++)]
a[i]=substring(str,i,1);
大体就是这样,不知道代码对不对本回答被网友采纳
第2个回答  2012-12-16
1. C# 自带方法 str.ToArray(),
2. 自己写,
string[] strArray = new string[str.length]
for(int i = 0; i < str.length; i++)
{
strArray[i] = str[i].tostring();
}
第3个回答  2012-12-16
string 类有一个方法,叫做ToCharArray()方法。
即 char[] ch =str.ToCharArray(0,4);