C# сравнение и извлечение данных из списка 2 & lt; & gt;
Мне трудно структурировать свой код, чтобы делать то, что я хочу.
Цель состоит в том, чтобы очистить базу данных инвентаризации и заменить ее только теми компьютерами, которые использовались в прошлом году
Я сравниваю 2 списка компьютеров, один из Active Directory и один из базы данных инвентаризации. Я сделал таблицы в List< gt; s, и моя идея состояла в том, что "действительный" список компьютеров в Active Directory будет проверяться пункт за пунктом по всему инвентарному списку, а затем, если будет совпадение, информация из обоих списков будет объединена в третий список. Я не получаю такого результата
Мой код
int i = 0; foreach (MachineAD ADmachine in machinesAD) { foreach (Machine machine in machines) { if (ADmachine.Name.Contains(machine.BarCode)) { machinesUnified.Add(new MachineUnified() { IDad = ADmachine.ID, NameFromAD = ADmachine.Name, NameFromInventory = machine.BarCode }); Console.WriteLine(machinesUnified[i].NameFromAD); i++; } } }
Выведите выдержку, (это 1700 строк по сравнению с 4500, что приводит к такому шаблону):
...033333 033333 033333 033333 033333 033333 033333 033333 033333 033333 033333 033333 033333 033435 033435 033435 033435 033435 033435 033435 033435 033435 033435 033435 033435 033435 032673 032673 032673 032673 032673 032673 032673 032673 032673 032673 032673 032673 032673 034567 034567 034567 034567 034567 034567 034567 034567 034567 034567 034567 034567 034567...
Что я уже пробовал:
Чтение документации, сообщений на форуме, статей о перекрестных ссылках списков и т. д.
Maciej Los
Кажется, вы хотите сравнить два совершенно разных объекта. Итак, вы должны реализовать Метод равных чтобы иметь возможность сравнивать эти объекты.
Frank R. Haugen
Мне нужен x. содержит()
Maciej Los
Нет, не знаешь. Все, что вам нужно, - это определить метод сравнения объектов. См. ответ OriginalGriff.
Frank R. Haugen
Да, я это сделал, и он не изменил мой код