Мое пересечение в LINQ каким-то образом не работает. У меня есть два листа Excel. Я получаю его с помощью LinQToExcel и (LinQToExcel не поддерживает выступление VisitSubQuery. Мне нужно сделать дополнительную работу). КоличествоДанные Excel с использованием LinQ Пересечение
List<BoardSheet> sourceTest = (from t in Boards[0]
where t["Board"] == boardName
select new CircuitSet
{
ID = string.Format(t["ID"]),
Data = string.Format(t["Data"]),
CtrlType = string.Format(t["CtrlType"]),
sys = string.Format(t["sys"]),
code = string.Format(t["code"])
}
).ToList<BoardSheet>();
List<BoardSheet> targetTest = (from t in Boards[0]
where t["Board"] == boardName
select new CircuitSet
{
ID = string.Format(t["ID"]),
Data = string.Format(t["Data"]),
CtrlType = string.Format(t["CtrlType"]),
sys = string.Format(t["sys"]),
code = string.Format(t["code"])
}
).ToList<BoardSheet>();
IEnumerable<BoardSheet> board = sourceTest.Intersect(targetTest);
платы всегда возвращает 0. Но когда я итерацию беспересадочного значения полого sourceTest и targetSet я вижу общие значения полей.
вы пробовали реализации пользовательского IEqualityComparer? –
Francisco
Нет Francisco.I думал, что единственный способ найти общий набор строк - это использовать «Пересечение». – Webbies
Существует несколько строк, общих как между источником, так и с целью. Я проверил его, записав значения отдельного списка исходных и целевых плат отдельно. – Webbies