Member 11543226 Ответов: 2

Как сделать подсписок существующего списка, имеющего общие элементы?


У меня есть список (а) из 2,30 000 элементов, где 1-й элемент в списке равен (3,1110000000) здесь, в этом примере, 3-это сумма числа 1110000000. и я отсортировал этот список в порядке убывания по сумме, и теперь мой 1-й пункт - (57,9657551955). теперь есть много чисел, сумма которых равна 57 и так далее, а затем сбросьте все числа, сумма которых равна 57, в файл с именем "57.CSV" и так далее. теперь, отсортировав список в порядке убывания, я нашел 57 сумм от 0-го индекса до 121-го индекса , 56 сумм от 122-го индекса до 178-го индекса. Теперь я хочу создать списки из списка (а) для всех сумм 57 , 56 и так далее. Как это сделать?

Пожалуйста, предложите.

Что я уже пробовал:

using (StreamReader sr = new StreamReader(fs))
                    {
                        string barcode_data = sr.ReadToEnd().Replace("\r\n", ",");
                        string[] Allbarcodes = barcode_data.Split(',');
                        int counter = 0;

                        for (int i = 0; i < Allbarcodes.Length - 1; i++)
                        {
                            if (!string.IsNullOrEmpty(Allbarcodes[i]))
                            {
                                long sumOfnum = Summation(Convert.ToInt64(Allbarcodes[i]));
                                barcodeList.Add(sumOfnum + "," + Allbarcodes[i]);
                            }
                        }
                        Array.Clear(Allbarcodes, 0, Allbarcodes.Length);
                        label1.Text = counter++.ToString();

                        result = barcodeList.Select(m => new { value = int.Parse(m.Substring(0, m.IndexOf(','))), item = m }).
                                     OrderByDescending(m => m.value).Select(m => m.item).ToList();
////list result contains all items and have to make sublists of it//// 
                        sr.Close();
                        sr.Dispose();
                    }

2 Ответов

Рейтинг:
2

Graeme_Grant

LINQ, которая по GroupBy Я думаю, что сделал бы то, что ты хочешь.
Как: группировать результаты запросов (руководство по программированию на C# )[^]


Рейтинг:
0

Graeme_Grant

Ты прокрался подо мной ... приятно видеть, что у нас обоих был один и тот же ответ. ;)

OriginalGriff

Это очевидное решение - я также добавил немного о группировке результатов в словарь.

Graeme_Grant

да, это может быть непростой задачей для новичка...