Форма Windows, каково правильное определение структуры данных для получения / хранения идентификаторов и возврата целого числа? - PullRequest
0 голосов
/ 19 октября 2019

Я создаю приложение Windows Form (я новичок).

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

Идентификатор строкового типа. Похож на серийный номер.

Это правильное определение структуры данных для получения / сохранения идентификаторов и возврата целого числа (вхождения объекта). Нужен ли массив / словарь, который управляет хранением и количеством?

Ответы [ 2 ]

0 голосов
/ 19 октября 2019

Используйте словарь идентификатора объекта для подсчета:

Dictionary<int,int> objectIds = new Dictionary<int,int>();

Затем, когда вы получите идентификатор объекта, добавьте его, если он не существует, или увеличьте число, если оно есть:

if (objectIds.ContainsKey(objectId))
{
    objectIds[objectId]++;
}
else
{
    objectIds.Add(objectId, 1);
}
0 голосов
/ 19 октября 2019

Вы можете использовать список или массив для хранения идентификаторов, а затем подсчитывать количество идентификаторов, используя запрос linq, как показано ниже:

var listOfIds = new List<string> {"a", "b", "a", "c", "a", "b"};
var query = from x in listOfIds
        group x by x into g
        let count = g.Count()
        orderby count descending
        select new {Value = g.Key, Count = count};

// Console.WriteLine is only used to show you how to access value and key inside your query
foreach (var x in q)
    Console.WriteLine("Value: " + x.Value + " Count: " + x.Count);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...