Возможно, вы пытаетесь поймать Corrupted State Exception . Так как приложения .NET 4 не могут поймать такие исключения по умолчанию. Вы можете попытаться добавить запись legacyCorruptedStateExceptionsPolicy=true
в свой файл конфигурации, как указано в статье MSDN, указанной выше.
Вы могли всегда просто или downcase строки сначала.
string title = "string":
title.ToUpper().Contains("STRING") // returns true
ой, просто видел, что в последний раз укусил. Нечувствительное к регистру выдерживает сравнение, был бы *
, вероятно *
, делают то же так или иначе, и если производительность не является проблемой, я не вижу проблемы с созданием прописных копий и сравнением их. Я, возможно, поклялся, что однажды видел, что нечувствительное к регистру выдержало сравнение однажды...
Можно использовать IndexOf()
как это:
string title = "STRING";
if (title.IndexOf("string", 0, StringComparison.CurrentCultureIgnoreCase) != -1)
{
// The string exists in the original
}
С тех пор 0 (нуль) может быть индекс, Вы проверяете по-1.
основанное на нуле индексное положение значения, если та строка найдена, или-1, если это не. Если значение является Строкой. Пустой, возвращаемое значение 0.
import Tkinter as tk
или import tkinter as tk
.
– Bryan Oakley
25 July 2013 в 08:50
Вы могли использовать эти Строка. Метод IndexOf и передача StringComparison.OrdinalIgnoreCase
как тип поиска для использования:
string title = "STRING";
bool contains = title.IndexOf("string", StringComparison.OrdinalIgnoreCase) >= 0;
Еще лучше определяет новый дополнительный метод для строки:
public static class StringExtensions
{
public static bool Contains(this string source, string toCheck, StringComparison comp)
{
return source?.IndexOf(toCheck, comp) >= 0;
}
}
Примечание, тот пустое распространение ?.
доступно начиная с C# 6.0 (VS 2015) для более старого использования версий
if (source == null) return false;
return source.IndexOf(toCheck, comp) >= 0;
ИСПОЛЬЗОВАНИЕ:
string title = "STRING";
bool contains = title.Contains("string", StringComparison.OrdinalIgnoreCase);
Альтернативное решение с использованием Regex:
bool contains = Regex.IsMatch("StRiNG to search", Regex.Escape("string"), RegexOptions.IgnoreCase);