Что должно возвращать text.FirstOrDefault (q => true) и в чем разница между text.FirstOrDefault (q => true) и text.FirstOrDefault ()? - PullRequest
0 голосов
/ 16 июня 2020

What is difference between text.FirstOrDefault(q => true) and text.FirstOrDefault()?

Оба возвращают один и тот же результат, поэтому в каком случае могут понадобиться скобки с выражением?

Ответы [ 2 ]

1 голос
/ 16 июня 2020

С чего начать.

Метод Enumerable.FirstOrDefault

Возвращает первый элемент последовательности или значение по умолчанию, если элемент не найден .

FirstOrDefault (IEnumerable, Fun c)

Возвращает первый элемент последовательности, который удовлетворяет условию или значение по умолчанию, если такой элемент не найден.

В примере FirstOrDefault(q => true) вы указываете true, поэтому вы говорите, дайте мне первый или элемент по умолчанию в массиве char, где "true = true "

¯_ (ツ) _ / ¯

Они для всех намерений и целей одинаковы. Ну, за исключением того факта, что первый вариант - это многословный и неэффективный способ делать ничего, кроме другого

0 голосов
/ 16 июня 2020

Насколько мне известно, между text.FirstOrDefault(q => true) и text.FirstOrDefault() нет разницы, а q => true по сути то же самое, что и запись if(true){}

Однако есть много способов вы можете использовать метод FirstOrDefault.

text.FirstOrDefault(x => x == "abc")
text.FirstOrDefault(x => x == 123)
text.FirstOrDefault(x => !list.Contains(x))
text.FirstOrDefault(x => x != y)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...