310 / 20 / 2
Регистрация: 26.01.2013
Сообщений: 359
1

Убрать из одного списка все совпадения с другим списком

25.02.2015, 16:28. Показов 1846. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть список данных:

C#
1
2
3
4
5
6
7
8
List<Data> DataList;
 
public class Data 
{
   public int FirstBlackId { get; set; }
   public int SecondBlackId { get; set; }
   // another propertyes
}
И два чёрных списка:

C#
1
2
3
4
5
6
7
List<FirstBlackListItem> fBlackList
List<SecondBlackListItem> sBlackList
 
public class FirstBlackListItem
{
   public int Id;
}
Мне надо из списка убрать все элементы с совпадением свойств FirstBlackId с FirstBlackListItem.Id и SecondBlackId с SecondBlackListItem.Id

Всем спасибо за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2015, 16:28
Ответы с готовыми решениями:

Связать каждую ячейку списка с другим списком
Помогите пожалуйста. перечитала кучу информации, но поскольку VBA не владею вообще, то не смогу...

Переименование элементов списка в соответствии с другим списком
Есть список, содержащий номера вида preds И список содержащий слова, на которые эти номера...

Корректное отображение списка изменяющего размер при пересечении с другим списком
Доброго дня, Есть список изменяющий высоту при наведении (из этой темы) и все хорошо до момента...

Как убрать затирание одного значка другим?
Если поставить один объект на расстояние менее 256px рядом с другим (при максимальном размере...

1
Администратор
Эксперт .NET
9380 / 4664 / 757
Регистрация: 17.04.2012
Сообщений: 9,512
Записей в блоге: 14
25.02.2015, 18:17 2
Пока что такой топор
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace ConsoleApplication
{
    public class Data
    {
        public int FirstBlackId { get; set; }
        public int SecondBlackId { get; set; }
    }
 
    public class FirstBlackListItem
    {
        public int Id;
    }
 
    public class SecondBlackListItem
    {
        public int Id;
    }
 
    class Program
    {
        static void Main(string[] args) {
            List<Data> DataList = new List<Data> {
                new Data { FirstBlackId = 100, SecondBlackId = 200 },
                new Data { FirstBlackId = 3, SecondBlackId = 14 },
                new Data { FirstBlackId = 15, SecondBlackId = 92 },
                new Data { FirstBlackId = 6, SecondBlackId = 118 }
            };
 
            List<FirstBlackListItem> fBlackList = new List<FirstBlackListItem> {
                new FirstBlackListItem { Id = 3 },
                new FirstBlackListItem { Id = 15 }
            };
 
            List<SecondBlackListItem> sBlackList = new List<SecondBlackListItem> {
                new SecondBlackListItem { Id = 200 }
            };
 
            var firstIDs = fBlackList.Select(v => v.Id);
            var secondIDs = sBlackList.Select(v => v.Id);
            var result = DataList.Where(d =>
                !firstIDs.Contains(d.FirstBlackId) &&
                !secondIDs.Contains(d.SecondBlackId));
        }
    }
}
P.S. Я дольше тестовые данные писал, чем код, их обрабатывающий. Неплохо бы и это сразу давать в задании.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.02.2015, 18:17
Помогаю со студенческими работами здесь

Вставка в таблицу данных другим значением, если не допускаются совпадения
Добрый Всем день. Есть таблиы т1,т2,т3. В т1 вставляетя число из т2. В т1 совпадения не доп-ся.При...

Задача: убрать все числа из списка
Ребят, помогите с задачей пожалуйста. Суть: удалить все числа из списка и вывести получившийся....

Как сделать так, что при совпадении одного объекта с другим происходило удаление одного из них
Подскажите, как сделать так, что при совпадении одного объекта с другим происходило удаление одного...

Delphi! Убрать совпадения в строковом массиве?
данные в массиве имеют такой вид: ATime:='13:10:00'; ATime:='14:00:00'; ATime:='14:15:00';...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru