Редактировать: Несмотря на возражения, я не думаю, что это больше хороший вопрос (см. Различные комментарии). Извините за потраченное впустую место, но, к сожалению, мне не хватает представителя, чтобы удалить свой пост.
Есть ли лучший способ создания лямбды (или, возможно, предиката или выражения, не являющегося лямбда-выражением), который возвращает либо 1) единственный аргумент без изменений, либо 2) постоянное значение? Я иногда сталкиваюсь с этим при использовании LINQ, когда базовый метод расширения LINQ требует Func<x,y>
, но мне нужен только входной аргумент или константа.
В двухлетнем вопросе Джон Скит утверждал, что для функции идентификации сокращения нет (см. Функция идентификации LINQ? ). Это же верно для константного выражения? Что-нибудь изменилось (или изменилось) в .NET 4.5 или C # 5?