Подтвердить что ты не робот

Где StringComparison.InvariantCultureIgnoreCase ушел?

Я переношу код С# в приложение для Windows Store. К моему удивлению, следующий код больше не работает:

someString.Equals("someOtherString", StringComparison.InvariantCultureIgnoreCase)

InvariantCulture и InvariantCultureIgnoreCase были удалены (*) из StringComparison.

Почему?

И как его заменить?

Изменить: (*) Строго говоря, он не был удален, он просто недоступен для приложений Windows Store. Результат тот же: вы не можете его использовать.

4b9b3361

Ответ 1

Эти конкретные параметры никуда не делись, но они просто не поддерживаются приложениями Windows Store.

Если вы посмотрите на MSDN для Перечисления StringComparison Enumeration, вы увидите, что эти конкретные параметры не поддерживаются портативной библиотекой или .NET для Windows Store.

Единственными опциями, поддерживаемыми для портативной библиотеки или приложений Windows Store, являются:

  • CurrentCulture
  • CurrentCultureIgnoreCase
  • Порядковый
  • OrdinalIgnoreCase

Я не могу говорить, почему, но нет возможности "заменить", поскольку эти значения не существуют в рамках. Вам придется работать с одним из других вариантов, которые существуют, StringComparison.OrdinalIgnoreCase, вероятно, будет легче всего работать.

Ответ 2

Похоже, что он не поддерживает приложение Windows Store.

Для приложения Windows Store, доступного только для использования с перечислениями зеленая сумка;

enter image description here

Для общей идеи люди использовали OrdinalIgnoreCase в этом случае.

https://github.com/loqu8/sqlite-net/commit/bfa04a6a40b4f62000bb9c57d5517643404c9109