Запись и подсчёт повторяющихся строк C#

188
28 февраля 2018, 06:09

Здравствуйте. Я получаю из запроса список объектов. У них есть строковое поле. Мне нужно пройти по этим объектам, выбрать у каждого объекта строковое поле, а затем записать эти поля в какую-то структуру данных, при этом нужно как-то учесть повторяющиеся строки и вывести количество повторений, если они есть.

var get = api.Wall.Get(new WallGetParams { OwnerId = x, Count = 100, Extended = true });
string title;                                                                     
foreach (var z in get.Groups)
{
    title = z.ScreenName;
    // ?
    // ?
    // ?
}
Answer 1

Используя LINQ:

var query = from z in get.Groups
            group z by z.ScreenName into res
            select new {Name = res.Key, Repeats = res.Count()};
foreach (var val in query)
{
    Console.WriteLine($"Значение: {val.Name} Повторений: {val.Repeats}");
}
Answer 2

Можно, например, использовать словарь. Должно получиться что-то типо такого:

Dictionary<string, int> titles = new Dictionary<string, int>();
foreach (var z in get.Groups)
{
    if (!titles.ContainsKey(z.ScreeeName)) titles.Add(z.ScreenName,1);
    else titles[z.ScreenName]++;
}
READ ALSO
Онлайн консультант на Asp.net, js и php

Онлайн консультант на Asp.net, js и php

Добрый день! Есть некий сайт написанный с помощью YiiНа данный момент к нему подключен с помощью скрипта на JS онлайн консультант, которых в интернете...

178
Sql server первое обновление очень долгое

Sql server первое обновление очень долгое

Доброго времени суток! Имеется код на C#:

183
Не удается отобразить компоненту React

Не удается отобразить компоненту React

Добрый день всем! Начал изучать React, для первой своей работы выбрал Material UI v10

214
Как передать данные через post используя xhr js?

Как передать данные через post используя xhr js?

Недавно начал учить jsС xhr методом GET разобрался, а вот как через POST не пойму

197