Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C# разница между contains и exists. Простыми словами обьясните. Спасибо... :)

Подруга Друга Мастер (1015), на голосовании 2 года назад
Я понять разницу не могу...
Голосование за лучший ответ
Melon Ice ☑️ Мудрец (16296) 2 года назад
Exists: определяет, содержит ли List<T> элементы, соответствующие условиям, определенным указанным предикатом.

Contains: определяет, находится ли элемент в списке List<T>.

List<T>.Exists() проверяет, удовлетворяет ли какой-либо элемент списка условию (заданному в виде предиката). «Предикат» — это просто метод, который принимает элемент для проверки и возвращает значение true (совпадение) или false.
Подруга ДругаМастер (1015) 2 года назад
Я это все читала. Только в чем разница? Я могу задать поиск по имени и что там вернет true что там. Ведь по сути они оба определяют есть элемент в списке или нет. И если он есть то по-любому будет true и у того метода и у того...
Melon Ice ☑️ Мудрец (16296) Подруга Друга, в exists нужно условие, которому должны соответствовать элементы, а не просто сами элементы
Подруга ДругаМастер (1015) 2 года назад
И по сути я когда а contains пропишу условие поиска там, это ведь тоже условие...
злобная дичь с атомного леса Мыслитель (5152) 2 года назад
contains - содержится: например Вася пупки он содержится (Существует) в 10 классе школа No 2 а в 10 классе школы no 3 он не содержиться.
exits - существует (жив или мёртвый) например: вася пупкин 1997 года существует а вася пупкин 1920 года уже нет
Подруга ДругаМастер (1015) 2 года назад
Поняла. То есть exist лучше использовать для объектов класса, а contains для списков int, string?
Dimsday Знаток (466) 2 года назад
Contains - указывает наличие КОНКРЕТНОГО элемента в списке.
Exists - указывает наличие элемента по указанному условию.

```
var list = new List<string> { "foo", "bar, "baz" };

var isContains = list.Contains("bar"); // true
var isExists = list.Exists(i => i.StartsWith('f')); // true
var isExists = list.Exists(i => i.StartsWith('c')); // false
```

Как-то так.
Подруга ДругаМастер (1015) 2 года назад
Спасибо!!!
Похожие вопросы