Другие ответы здесь полностью действительны, но каким-то образом для ввода StringComparison.OrdinalIgnoreCase
требуется некоторое время, а также для использования String.Compare
.
Я кодировал простой метод расширения String, где вы можете указать, если сравнениес учетом регистра или без учета регистра с помощью логического выражения, прикрепив здесь весь фрагмент кода:
using System;
/// <summary>
/// String helpers.
/// </summary>
public static class StringExtensions
{
/// <summary>
/// Compares two strings, set ignoreCase to true to ignore case comparison ('A' == 'a')
/// </summary>
public static bool CompareTo(this string strA, string strB, bool ignoreCase)
{
return String.Compare(strA, strB, ignoreCase) == 0;
}
}
После этого все сравнение сокращается примерно на 10 символов - сравните:
Перед использованием расширения строки:
String.Compare(testFilename, testToStart,true) != 0
После использования расширения строки:
testFilename.CompareTo(testToStart, true)