Информация об изменениях

Сообщение Re: Сделать из одного массива - два от 10.11.2022 16:28

Изменено 11.11.2022 14:39 IT

Re: Сделать из одного массива - два
Здравствуйте, snaphold, Вы писали:

S>как из persons одним запросом через Linq получить 2 массива: ages (distinct age from persons), names (distinct name from persons) ?


Впрочем, в качестве бреда:

var list = new List<(string name, int age)> { ("1", 2), ("3", 4) };

var data = list.Aggregate(
    (names : new List<string>(), ages : new List<int>()),
    (seed, item) =>
    {
        seed.names.Add(item.name);
        seed.ages. Add(item.age);
        return seed;
    });
Re: Сделать из одного массива - два
Здравствуйте, snaphold, Вы писали:

S>как из persons одним запросом через Linq получить 2 массива: ages (distinct age from persons), names (distinct name from persons) ?


Впрочем, в качестве бреда:

var list = new List<(string name, int age)> { ("1", 2), ("3", 4) };

var data = list.Aggregate(
    (names : new HashSet<string>(), ages : new HashSet<int>()),
    (seed, item) =>
    {
        seed.names.Add(item.name);
        seed.ages. Add(item.age);
        return seed;
    });