Почему метод LINQ, «относятся ко всем» названным Избранными?

Когда я прочитал код, который использует Select Я думаю «избранный все где». Когда я прочитал код, который использует Map Я думаю, что «this-that» или «относятся ко всем». Я не могу быть единственным человеком, который чувствует имя Select сбивает с толку.

Карта

27
задан ChaosPandion 21 January 2010 в 21:59
поделиться

2 ответа

Это действительно одинаково отображено на функциональных языках. Причина, по которой он назван , выберите , это то, что он предназначен для использования в качестве части LINQ, который использует ключевые слова SQL.

from item in collection
where item.Value == someValue
select item.Name

переводится на:

collection.Where(item => item.Value == someValue)
          .Select(item => item.Name)

Было бы немного противоречивое, если бы выбрано на карте ; Что-то вроде:

collection.Filter(item => item.Value == someValue)
          .Map(item => item.Name)

на самом деле, многие люди используют LINQ, не слышав о функциональном программировании вообще. Для них LINQ является методом для получения объектов данных и запросить их легко (например, запросы SQL). Для них выберите и , где имеет смысл. Намного больше чем карта и фильтр .

37
ответ дан 28 November 2019 в 05:26
поделиться

Одна из основных причин, по которой Select идет последним, - заставить Intellisense работать. Если поставить источник последовательности первым (оператор from), Intellisense может работать правильно.

0
ответ дан 28 November 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: