Первая нотация обычно называется «синтаксис запроса», вторая - «синтаксис метода» (или точечная нотация или лямбда-синтаксис) - обе они скомпилированы в один и тот же код, но, как уже упоминалось, обычно одна из двухявляется более кратким, для большинства сценариев это точечная нотация, но особенно для объединения или группировки по нескольким перечислениям синтаксис запроса действительно блестящий.
Также проверьте Синтаксис запроса LINQ против синтаксиса метода (C #) :
Большинство запросов во вводной документации LINQ пишутся как выражения запросов с использованием декларативного синтаксиса запросов, введенного в C # 3.0.Однако общеязыковая среда выполнения .NET (CLR) сама по себе не имеет понятия синтаксиса запроса.Следовательно, во время компиляции выражения запроса переводятся в нечто, понятное CLR: вызовы методов.Эти методы называются стандартными операторами запросов и имеют такие имена, как Where, Select, GroupBy, Join, Max, Average и т. Д.Вы можете вызывать их напрямую, используя синтаксис метода вместо синтаксиса запроса.
В общем, мы рекомендуем синтаксис запроса, потому что он обычно проще и более читабелен;однако нет никакой семантической разницы между синтаксисом метода и синтаксисом запроса.