无论是搜索、排序还是平等;如何比较字符串会显著影响应用程序性能。本文演示了在 .NET 中使用选项进行高效字符串比较的重要性StringComparison
请考虑大多数开发人员用于字符串比较的以下常用方法:
// Inefficient string comparison
bool equal = string1.ToLower() == string2.ToLower();
.NET 提供了一个功能强大的枚举 ,旨在解决这些效率低下的问题。StringComparison
// Efficient string comparison
bool equal = string.Equals(string1, string2, StringComparison.OrdinalIgnoreCase);
前面提到的方法以旧的字符串比较方式解决了这两个问题。
创建另一个名为的类,并添加以下代码片段StringComparisons
public static class StringComparisons
{
private static readonly string string1 = "test";
private static readonly string string2 = "test";
public static void BadMethod()
{
// Inefficient string comparison
bool equal = string1.ToLower() == string2.ToLower();
Console.WriteLine($"In bad method strings are {equal}");
}
public static void GoodMethod()
{
// efficient string comparison
bool equal = string.Equals(string1, string2, System.StringComparison.OrdinalIgnoreCase);
Console.WriteLine($"In good method strings are {equal}");
}
}
从 main 方法执行,如下所示
#region Day 21: String Comparisons
static string ExecuteDay21()
{
StringComparisons.BadMethod();
StringComparisons.GoodMethod();
return "Executed Day 21 successfully..!!";
}
#endregion
控制台输出
In bad method strings are True
In good method strings are True
源代码获取:公众号回复消息【code:68194
】