Определите, содержит ли последовательность все элементы другого использования последовательности Linq [дубликат]

Возможно, вам понадобится преобразовать их в нижний регистр, чтобы предотвратить путаницу.

objs.sort(function (a,b) {

var nameA=a.last_nom.toLowerCase(), nameB=b.last_nom.toLowerCase()

if (nameA < nameB)
  return -1;
if (nameA > nameB)
  return 1;
return 0;  //no sorting

})
104
задан Bryan Watts 2 January 2009 в 19:02
поделиться

3 ответа

Количество? Как насчет не кто-либо?

bool contained = !subset.Except(superset).Any();
168
ответ дан Amy B 5 November 2019 в 11:08
поделиться

Так, мой другой ответ был довольно прост в использовании. Но это - O (n*m) решение.

Вот является немного менее дружественный O (n+m) решением. Это должно использоваться, если надмножество ОГРОМНО. Это неоднократно старается не перечислять надмножество.

HashSet<int> hashSet = new HashSet<int>(superset);
bool contained = subset.All(i => hashSet.Contains(i));
29
ответ дан Amy B 5 November 2019 в 11:08
поделиться

Вы могли использовать Кроме, и получающееся количество должно быть 0.

Read на MSDN для деталей параметров.

Пример:

subset.Except(superset).Count() == 0
4
ответ дан leppie 5 November 2019 в 11:08
поделиться
Другие вопросы по тегам:

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