Обновление в .NET Core 2.0+ (август 2017 г.)
Это изначально доступно в .NET Core 2.0 + с String.Replace
, которое имеет следующееперегрузки
public string Replace (string oldValue, string newValue, StringComparison comparisonType);
public string Replace (string oldValue, string newValue, bool ignoreCase, System.Globalization.CultureInfo culture);
PS : Вы можете просмотреть исходный код .NET Core , если хотите увидеть, как MS его реализовала
Таким образом, вы можете использовать любой из следующих способов:
"A".Replace("a", "b", StringComparison.CurrentCultureIgnoreCase);
"A".Replace("a", "b", true, CultureInfo.CurrentCulture);
Legacy .NET Framework 4.8 - для проектов VB
Visual Basic имеет Option Compare
Настройка, которую можно установить на Binary
или Text
Установка на Text
сделает все сравнения строк по всему проекту без учета регистра по умолчанию.
Итак, как подсказали другие ответы, если вы набираете Microsoft.VisualBasic.dll
, при вызове Strings.Replace
, если вы явно не передаете CompareMethod
метод будет фактически откладываться до опции Compare
для вашего файла или проекта с использованием [OptionCompare]
атрибута параметра
Так что любое из следующего также будетork ( опция top доступна только в VB, но оба зависят от VisualBasic.dll )
Option Compare Text
Replace("A","a","b")
Replace("A","a","b", Compare := CompareMethod.Text)