通常历遍字符串(string)中每一个字符(char),会有以下几种方法。
SubString
string TextString = "测试字符";
for (int i = 0; i < TestString.Length; i++)
{
string Text = TestString.Substring(i, 1);
}
foreach
string TextString = "测试字符";
foreach (var item in TestString)
{
char Text = item;
}
StreamReader
string TextString = "测试字符";
byte[] bt = Encoding.UTF8.GetBytes(TextString);
MemoryStream ms = new MemoryStream(bt);
using (StreamReader sr = new StreamReader(ms))
{
while (true)
{
int ASC = sr.Read();
if (ASC<0)
{
break;
}
char CR = Convert.ToChar(ASC);
}
}
Char[]
string TextString = "测试字符";
char[] cra = TextString.ToCharArray();
for (int i = 0; i < cra.Length; i++)
{
char cr = cra[i];
}

本文通过测试比较了.NET中四种字符串遍历方式——SubString、foreach、StreamReader和Char[]的效率。在处理100万长度的字符串时,Char[]方法表现最佳,不仅速度快,而且代码简洁。

745

被折叠的 条评论
为什么被折叠?



