Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
11 / 11 / 3
Регистрация: 24.12.2015
Сообщений: 92
1

Поиск дубликатов без LINQ

29.09.2016, 11:47. Показов 3514. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть список объектов класса Class1.

C#
1
2
3
4
5
public class Class1
{
public int Num; //номер по порядку
public string ID; //идентификатор
}
т.е. List<Class1>

Нужно вывести один раз ID объекта, который имеет дубликаты, и все Num, где он дублируется. И так для всех объектов
Т.е. вид примерно такой - asdbtr = 1,5,8,9; dsabte = 2,12,54,75 ...

Помогите решить, пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2016, 11:47
Ответы с готовыми решениями:

Коллекция без дубликатов
Здравствуйте. Возник вопрос: мне нужно сделать коллекцию (т.е. динамический массив), но в нем не...

Сохранение без дубликатов
При сохранении надо поставить проверку, имеется ли в файле строки, которые будут сохранены....

Быстрый поиск дубликатов строк
Есть большой файл (3,5 миллиона записей). Нужно быстро найти все дубликаты строк и вывести...

Поиск одинаковых (дубликатов) значений в файле
Нужен код для выявления одинаковых дублирующихся значений в текстовом файле. Например текстовый...

20
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
29.09.2016, 14:20 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от frusty Посмотреть сообщение
за какое время обычный программист может(должен) выполнить такую задачу (см. 1 пост)?
По идее 5'ти минут достаточно:
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
List<IDs> Ids = new List<IDs>() 
{ 
    new IDs { Num = 1, ID = "one" },
    new IDs { Num = 2, ID = "one" },
    new IDs { Num = 3, ID = "one" },
    new IDs { Num = 1, ID = "two" },
    new IDs { Num = 3, ID = "three" },
    new IDs { Num = 4, ID = "three" },
    new IDs { Num = 5, ID = "three" },
    new IDs { Num = 4, ID = "four" },
    new IDs { Num = 5, ID = "five" },
};
var resLinq = from id in Ids
            group id by id.ID into idGroups
            where idGroups.Count() > 1
            select new 
            {
                id = idGroups.Key, 
                values = from id in idGroups
                        select id.Num
            };
 
var resExtension = Ids
    .GroupBy(i => i.ID)
    .Where(g => g.Count() > 1)
    .Select(g => new { id = g.Key, values = g.Select(i => i.Num) });
Другой вопрос, в том, какие знания ты применяешь для этого.
Сейчас Linq повсеместно используется в любой программе, хотя бы потому, что это удобно. Честно, не очень представляю работу с коллекциями без Linq (нет в общем-то представляю, но не вижу не одной причины это делать).
P.S. И да, как тебе уже порекомендовали - "главное не говорите это на собеседовании", - что: "LINQ же для БД" - иначе твоё собеседование закончится очень быстро.
1
29.09.2016, 14:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2016, 14:20
Помогаю со студенческими работами здесь

Linq или не Linq. Linq медленней стандартных методов?
Есть у нас два массива, нужно найти совпадения в первом из второго. Два варианта реализации, первый...

Linq без использования FrameWork 3.5
Здравствуйте,уважаемые! Я разработал автоматизированную обучающую систему с использованием средств...

Linq без цикла foreach
вот пример var linq = from t in configFile.Elements(&quot;account&quot;).Count() ...

linq без цикла foreach
выбираю хмл через линк и я знаю что всегда будет массив с одним индексом т.е цикл будет...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru