4种方法 对比: private void Form2_Load(object sender, EventArgs e) { string str = "这心情就像那 低热量的雪糕,淡淡的不够呼味道,总觉得少了什么"; string[] a; skyvu.Tester tester = new skyvu.Tester(100000); richTextBox1.AppendText( tester.Run("ToCharArray", delegate() { a = SplitToArray(str); })); richTextBox1.AppendText(tester.Run("StringIndex", delegate() { a = SplitToArray2(str); })); richTextBox1.AppendText(tester.Run("Regex", delegate() { a = SplitToArray3(str); })); richTextBox1.AppendText(tester.Run("Linq", delegate() { a = SplitToArray4(str); })); } public string[] SplitToArray(string str) { char[] chs = str.ToCharArray(); string[] sArr = new string[chs.Length]; for (int i = 0; i < chs.Length; i++) { //sArr[i] = chs[i].ToString(); sArr[i] = new string(chs[i],1); } return sArr; } public string[] SplitToArray2(string str) { string[] sArr = new string[str.Length]; for (int i = 0; i < str.Length; i++) { sArr[i] = str[i].ToString(); } return sArr; } //private static Regex regSplit = new Regex("(?!^|$)",RegexOptions.Compiled);//没有明显的提升 public string[] SplitToArray3(string str) { return Regex.Split(str, "(?!^|$)"); //return regSplit.Split(str); } public string[] SplitToArray4(string str) { return (from ch in str select ch.ToString()).ToArray(); } Tester类源码 结果: ToCharArray : 128 ms StringIndex : 135 ms Regex : 2480 ms Linq : 469 ms