Лямбда-выражение

Не использовать X11?

$ sudu rm /usr/local/bin/emacs

Изменение Ваша оболочка входа в систему к vi?

Первый, вынудите себя использовать редактор , тогда , vi будет походить на роскошь?

Использование vi привязки клавиш в [1 113] удар ?

Только начинают использовать vi все время?

мне кажется, что изучение редактора не ужасно отличается от изучения языка. Погружение работает лучше всего.

я использую vi для действительно быстрых редактирований или когда я не могу использовать X11 по некоторым причинам, но я живу в [1 117] emacs. Действительно мощные редакторы стоят не торопиться для изучения.

7
задан Romano Zumbé 3 July 2017 в 12:17
поделиться

3 ответа

Честно говоря, мне это кажется довольно ясным. Я думаю, что лямбда в этом случае может быть менее читабельной, т.е. что-то вроде того, что Брендон опубликовал ниже.

(Похищено из сообщения Брэндона)

var project = accounts.Select(a => a.AccountProjects)
                      .Where(x => x.AccountProjectID == accountProjectId);

Что касается читабельности, я думаю, что пара циклов предпочтительнее лямбда-решение, и я думаю, что ваше решение предпочтительнее циклов.

3
ответ дан 7 December 2019 в 03:18
поделиться
var project = accounts.SelectMany(a => a.AccountProjects)
                      .Where(x => x.AccountProjectID == accountProjectId);

Насколько это проще - вопрос вкуса.

4
ответ дан 7 December 2019 в 03:18
поделиться

Я согласен с Эдом Свангреном. Это выглядит лаконично и достаточно читабельно.

На самом деле ответ на ваш вопрос зависит от трех вещей:

  1. Чего вы хотите достичь - лучшей читабельности? лучшая производительность? и т. д.
  2. Тип «учетных записей»
  3. Как будет использоваться результирующая коллекция.

Если вы хотите повысить производительность, и в случае, если «учетные записи» являются списком, итоговая коллекция будет повторяться или передан другому методу для итерации достаточно скоро после этих строк кода, я бы сделал что-то вроде этого:

List<Account> filteredAccounts = new List<Account>();
accounts.ForEach(a => { if (a.AccountProjectID == accountProjectId) filteredAccounts.Add(a); });

Конечно, он менее читабелен, чем ваш оператор LINQ, но я бы использовал эти 2 строки, а не учетные записи.Select .... ...

И, конечно же, он намного лучше оптимизирован для производительности, что, я считаю, всегда важно.

2
ответ дан 7 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

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