通过[]运算符访问字符串中的char更快或通过[]运算符访问char []中的char更快吗?

mj_*_*mj_ 0 c# string performance

我有一个简单的问题.我正在使用stringC#中的一个巨大的工作,我会反复通过它并通过[]操作员访问单个字符.将数据string转换为a char[][]char数组上使用运算符是否更快或者我的方法更快?或者他们都是一样的?我希望我的程序快速前进.

Mar*_*ell 7

如果您需要绝对最快的实现,那么您可以unsafe使用指针:

string s = ...
int len = s.Length;
fixed (char* ptr = s)
{
   // talk to ptr[0] etc; DO NOT go outside of ptr[0] <---> ptr[len-1]
}
Run Code Online (Sandbox Code Playgroud)

然后避免范围检查,:

  • 要求 unsafe
  • 如果你走出界外,你应该受到责备