Что любит лямбда-выражение _=> expr
средний?
Из чего цель _
как введено к лямбде?
Пример:
int count = 0;
list.ForEach(_ => count += 1);
Это имя параметра, хотя и не очень полезное, но именно оно обычно используется (по некоторым соглашениям), когда вам нужно указать, что выражение имеет параметр, чтобы код скомпилировался, но вас это не особо волнует, поэтому вы просто проигнорируете его.
По сути, это эксплуатация синтаксиса для того, что представляет собой легальный идентификатор в C#, а поскольку идентификатор может начинаться с подчеркивания и не содержать ничего другого, это просто имя параметра.
Вы могли бы просто написать:
var _ = 10;
Это соглашение используется, когда вам не нужен параметр.
_
- это допустимое имя переменной. Они просто используют _
в качестве переменной.
Поскольку выражение лямда в основном используется в коротком анонимном коде, так что имя переменной иногда не является необходимым, даже они не используют переменную в блоке кода, так что они просто дают _ для короткого, условного