Я знаю, что вы можете проверить, существуют ли все элементы из одного списка в другом списке, как это (из другого поста здесь):
bool result = list.All(x => dataList.Contains(x));
Но как мне проверить, все ли элементы в другом списке имеют одно и то же "подзначение"?
У меня есть два xml документа _mapdoc
и _mapdocCopy
, и я хочу сравнить все <file>
элементы, где путь атрибута находится в другом xml документе.
Итак, я начал делать что-то похожее на:
if (_mapdocCopy.Descendants("file").All(x => _mapdoc.Descendants("file").Contains(x)))
Но я сразу понял, что при этом будут сравниваться все элементы <file>
, и они часто не будут одинаковыми (они могут иметь разные подэлементы), даже если их атрибут «путь» имеет одинаковые значения. И только это я хочу проверить.
Я также (в другом контексте) хочу иметь возможность получать те, которые не совпадают (все еще в отношении только атрибута пути), поэтому помощь с этим также будет оценена. Но это другой вопрос, мне все еще нужен запрос Linq выше.
Есть идеи?