Czy istnieje sposób, aby następujący zwrot był prawdziwy?
string title = "ASTRINGTOTEST";
title.Contains("string");
Wydaje się, że nie ma przeciążenia, które pozwala mi ustawić rozróżnianie wielkości liter. Obecnie UPPERCASE je oba, ale to po prostu głupie (przez co odnoszę się do problemów i18n , które są związane z obudową w górę iw dół).
AKTUALIZACJA
To pytanie jest starożytne i od tego czasu zdałem sobie sprawę, że poprosiłem o prostą odpowiedź na naprawdę obszerny i trudny temat, jeśli chcesz w pełni go zbadać.
W większości przypadków, w mono-językowej, bazy kod English to odpowiedź wystarczy. Podejrzewam, ponieważ większość osób przyjeżdżających tutaj należy do tej kategorii, jest to najpopularniejsza odpowiedź.
Ta odpowiedź rodzi jednak nieodłączny problem polegający na tym, że nie możemy porównać tekstu bez rozróżniania wielkości liter, dopóki nie dowiemy się, że oba teksty są tą samą kulturą i nie wiemy, czym jest ta kultura. To może być mniej popularna odpowiedź, ale myślę, że jest bardziej poprawna i dlatego oznaczyłem ją jako taką.
culture.CompareInfo.IndexOf(paragraph, word, CompareOptions.IgnoreCase) >= 0
? Wykorzystuje właściwą kulturę i nie rozróżnia wielkości liter, nie przydziela tymczasowych ciągów małych liter i pozwala uniknąć pytania, czy konwersja na małe litery i porównywanie jest zawsze takie samo jak porównanie bez rozróżniania wielkości liter.