С Python я могу использовать оператор "in" для операции установки следующим образом:
x = ['a','b','c']
if 'a' in x:
do something
Что эквивалентно в С#?
Ответ 1
Большинство коллекций объявляют метод Contains (например, через интерфейс ICollection<T>), но всегда существует более универсальный LINQ Enumerable.Contains:
Чтобы построить на Ani ответ, оператор Python in для словарей является эквивалентом ContainsKey в С#, поэтому вам понадобятся два метода расширения:
public static bool In<T, V>(this T item, IDictionary<T, V> sequence)
{
if (sequence == null) throw new ArgumentNullException("sequence");
return sequence.ContainsKey(item);
}
public static bool In<T>(this T item, IEnumerable<T> sequence)
{
if (sequence == null) throw new ArgumentNullException("sequence");
return sequence.Contains(item);
}