2014-09-23 3 views
0

У меня есть список, содержащий эти элементы.Можно ли группировать по списку без linq

ID  TaskId  Purposecode UserId  Time 
1  1   915   421  7.0 
2  1   915   421  7.0 
3  1   915   421  7.0 
4  4   912   421  7.0 

Как я могу группировать без использования linq?

Цель состоит в том, чтобы получить эту

TaskId  Purposecode UserId  Time 
     1   915   421  21.0 (uniqeID: 1,2,3) 
     4   912   421  14.0 (uniqeID: 4,5) 

Причина, почему я делаю это в коде, это потому, что мне нужны уникальные идентификаторы после группы по другим причинам.

+0

почему вы can'y использовать LINQ? как это связано с вашими уникальными идентификаторами в результате? – Vland

+0

Компания, в которой я работаю, не использует linq – Zaz

+0

@Zaz Любой резонатор для использования LINQ? –

ответ

0

Вы можете взять словарь списков ... как это (предполагается, что «пункт» является объектом с данными):

Dictionary<int, List<Item>> itemsByTask = new Dictionary<int, List<Item>>() 
foreach (Item item in items) { 
    List<item> groupItems; 
    if (!itemsByTask.TryGetValue(item.TaskID, out groupItems)) { 
    groupItems = new List<Item>(); 
    itemsByTask.add(item.TaskID, groupItems); 
    } 
    groupItems.Add(item); 
} 
+0

это не vb.net – Vland

+0

@Vland, я hadn 't заметил тег, но так как это .NET и в значительной степени просто использует классы библиотеки, это можно легко перевести в рабочий код VB.NET. Будьте моим гостем и предлагайте редактировать вместо downvoting ... – Lucero

Смежные вопросы