Что самый быстрый путь состоит в том, чтобы удалить один массив объектов от другого?

Преимущества для меня являются более компактным синергетическим программированием. Материал имеет тенденцию течь горизонтально больше, чем вертикально. Плюс он очень полезно для разработки прототипа простых алгоритмов. Не знайте, использую ли я его для его полного потенциала, но я нахожу его очень полезным.

15
задан gotqn 1 September 2015 в 11:52
поделиться

3 ответа

var remains = all.Except(taken);

Обратите внимание, что не возвращает массив. Но вы должны спросить себя, действительно ли вам нужен массив или IEnumerable более подходит (подсказка: это почти всегда). Если вам действительно нужен массив, вы можете просто вызвать .ToArray () , чтобы получить его.

В этом случае может быть большое преимущество в производительности для , а не при использовании массива сразу. Представьте, что в вашей коллекции «все» есть от «a» до «d», а в «взятой» коллекции - «a» и «b». На данный момент переменная "Остается" еще не содержит каких-либо данных. Вместо этого это объект, который знает, как сообщить вам, какие данные будут там, когда вы его спросите. Если эта переменная вам никогда не понадобится,

29
ответ дан 1 December 2019 в 00:59
поделиться

Вы используете LINQ , кроме , например all.Except (take) .

6
ответ дан 1 December 2019 в 00:59
поделиться
string[] result = all.Except<string>(taken).ToArray<string>();
5
ответ дан 1 December 2019 в 00:59
поделиться
Другие вопросы по тегам:

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