Выражение запроса LINQ в сравнении с текущими (точка) - PullRequest
1 голос
/ 06 апреля 2011
Dim namePriceQuery = From prod In products
                     Select prod.Name, prod.Price

OR

Dim namePriceQuery = products.select(function(x) New With{ Key .newName =x.name _ 
, Key .newPrice= x.price})

Насколько мне известно, единственная разница в том, что второе выражение имеет преимущество ключевого слова Key . В чем именно разница между двумя? И в каких сценариях я бы выбрал один или другой? Каковы плюсы и минусы одного против другого?

Я предполагаю, что синтаксический эквивалент C # будет работать так же, и его следует использовать в аналогичных сценариях перед упоминанием. Большое спасибо!

Ответы [ 2 ]

3 голосов
/ 06 апреля 2011

Любой из них работает так же, но я бы выбрал тот, который наиболее читабелен.

0 голосов
/ 06 апреля 2011

Оба утверждения равны. Запросы Linq, сформулированные с использованием синтаксиса linq, преобразуются в соответствующие вызовы методов.

Выберите, что подходит вам лучше всего с точки зрения читабельности и / или делает ваш код более понятным. Если вы получаете действительно сложные запросы, гораздо лучше читать с использованием select many и группировкой синтаксиса linq.

Я переключаюсь между обеими формами запросов linq в зависимости от ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...