Я упростил групповой код ниже, где я знаю, что существует не более двух записей для каждой группы, причем каждая группа сгруппирована по значению в индексе два в строке массива. Я хочу перебрать список ключей в IGrouping и объединить некоторые значения в каждой группе, а затем добавить этот результат в окончательный список, но я новичок в LINQ, поэтому точно не знаю, как получить доступ к этим первым и/или вторым значения по индексу.
Может ли кто-нибудь пролить свет на то, как это сделать?
каждая группа, полученная из строк var, выглядит примерно так:
key string[]
---- -------------
123 A, stuff, stuff
123 B, stuff, stuff
и я хочу, чтобы результатом была строка [], которая объединяет элементы каждой группы в «финальном» списке, например:
string[]
-------
A, B
мой код:
var lines = File.ReadAllLines(@path).Skip(1).Select(r => r.Split('\t')).ToList();
List<string[]> final = new List<string[]>();
var groups = lines.GroupBy(r => r[2]);
foreach (var pairs in groups)
{
// I need to combine items in each group here; maybe a for() statement would be better so I can peek ahead??
foreach (string[] item in pairs)
{
string[] s = new string[] { };
s[0] = item[0];
s[1] = second item in group - not sure what to do here or if I am going aboout this the right way
final.Add(s);
}
}
По этому вопросу тоже не слишком много поддержки, поэтому я подумал, что это может быть кому-то полезно.