在 C# 中,String.CompareOrdinal(strA, strB)
是否等同于 String.Compare(strA, strB, StringComparison.Ordinal)
?
我在 https://msdn.microsoft.com/en-us/library/e6883c06.aspx 查看了文档它没有提到这一点。
最佳答案
他们都做同样的事情。可以关注来源https://referencesource.microsoft.com
和
- public static int Compare(String strA, String strB, StringComparison comparisonType)
- 调用 private unsafe static int CompareOrdinalHelper(String strA, String strB)
代码路径几乎相同
事实上,唯一的区别是后者有一个快速检查,所以如果你有指令强制症,你可以从统计上节省你自己几个周期
if ((strA.m_firstChar - strB.m_firstChar) != 0)
{
return strA.m_firstChar - strB.m_firstChar;
}
关于c# String.Compare 与 String.CompareOrdinal 对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50551546/