C# String Replace高效的实例方法
C# String Replace高效的实例方法
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:[ThreadStatic]staticchar[]mTempChars;protectedstaticchar[]Get...

复制代码 代码如下:

[ThreadStatic]

static char[] mTempChars;

protected static char[] GetTempData()

{

if (mTempChars == null)

mTempChars = new char[1024 * 64];

return mTempChars;

}

public static string Replace(string value, string oldData, string newData)

{

char[] tmpchars = GetTempData();

int newpostion = 0;

int oldpostion = 0;

int length = value.Length;

int oldlength = oldData.Length;

int newlength = newData.Length;

int index = 0;

int copylength = 0;

bool eq = false;

while (index < value.Length)

{

eq = true;

for (int k = 0; k < oldlength; k++)

{

if (value[index + k] != oldData[k])

{

eq = false;

break;

}

}

if (eq)

{

copylength = index - oldpostion;

value.CopyTo(oldpostion, tmpchars, newpostion, copylength);

newpostion += copylength;

index += oldlength;

oldpostion = index;

newData.CopyTo(0, tmpchars, newpostion, newlength);

newpostion += newlength;

}

else

{

index++;

}

}

if (oldpostion < length)

{

copylength = index - oldpostion;

value.CopyTo(oldpostion, tmpchars, newpostion, copylength);

newpostion += copylength;

}

return new string(tmpchars, 0, newpostion);

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类