169 похожих чатов

Всем привет. Я тупой и поэтому мне нужна ваша помощь У

меня есть IEnumerable<MyObject> у которого структура:

public class MyObject
{
public string OneId{get;set;}
public string TwoId{get;set;}
public string ThreeId{get;set:}
}

Подскажите плз как мне из IEnumerable<MyObject> получить три коллекции IEnumerable<string> в которых будут находится distinct элементы OneId, TwoId, ThreeId?
Есть ли какой-то элегантный способ кроме приведения IEnumerable<MyObject> к массиву и троих .Select?

25 ответов

18 просмотров

О, Игорь, здарова

Вийобуватись в про.нет не тупий а зробити селект.дістінк то зразу отупів?

Ihor-Volokhovych Автор вопроса

Мне кажется не получится получить сразу 3 коллекции отдельных с distinct, нужно каждую отдельно

Ihor-Volokhovych Автор вопроса

.GroupBy может, чисто разбить на группы

один форич і в ньому в три хешсета додаєш кожен з пропів %)

Volodymyr Lyshenko
може погратися з Set і Aggregate ?

Посмотрел перегрузки и не вижу возможности Тут же прикол в том что там отдельно будет: 1) distinct one ids 2) distinct two ids 3) distinct three ids Значения могут быть абсолютно не взаимосвязанными

Vova Lantsov 🇺🇦
Посмотрел перегрузки и не вижу возможности Тут же ...

так я не дуже зрозумів задачу, думав так і треба

Vova Lantsov 🇺🇦
Посмотрел перегрузки и не вижу возможности Тут же ...

ну акамулятор на три поля доведеться робити, кожне з яких хешсет

Volodymyr Lyshenko
так я не дуже зрозумів задачу, думав так і треба

задача легка як дерев'яні двері: йому треба замість колекції об'єктів, зробити три колекції відповідно до назви пропертів об'єкта

Да

Вова Зарудний
задача легка як дерев'яні двері: йому треба заміст...

не понятно дістінкт до кожної окремої коллекції чи між всіма ними

foreach (var obj in objects) { oneIds.Push(obj.OneId); twoIds.Push(obj.TwoId); .... }

Ты хочешь сделать IEnumerable<(first, second, third)> -> (IEnumerable<first>, IEnumerable<second>, IEnumerable<third>) ?

Andrew
Ты хочешь сделать IEnumerable<(first, second, thir...

кстати да, можно же ф шапр подключить

*елегантно* то без снепшоту проміжних даних в тебе варіантів мало окрім стандартних IEnumerable<T> is T[], List<T>, etc. як альтернативний варіант руками зробити імперативну імплементацію але імхо воно того не варте

IMHO, не треба паралелити 3 ітерації там, де можна в одну. я б одним з двох варіантів https://shorturl.at/mQW39 написав, якщо конче необхідно в одну ітерацію, або б написав, як пропонував @seclerp (посилання на sharplab, якщо що)

Oleksii Zaichenko
IMHO, не треба паралелити 3 ітерації там, де можна...

Оба варианта довольно смешные (хотя уже не неверные)

Через рефлексию, не?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта