Вы можете сделать это быстрее, используя HashSet<T>
, особенно если вы собираетесь добавить гораздо больше элементов:
private HashSet<string> _myMatches = new HashSet<string>() { "one", "two", "three" };
private bool Exists(string foo)
{
return _myMatches.Contains(foo);
}
Это побьет List<T>
, поскольку HashSet<T>.Contains
является операцией O (1).
List<T>
Метод Contains, с другой стороны, является O (N).Он будет искать весь список (пока не будет найдено совпадение) при каждом вызове.Это будет медленнее по мере добавления новых элементов.