Я разрабатываю программу, которая читает csv-файлы и сортирует их значения в KeyValuePair-List.
private List<KeyValuePair<string, double>> SortValues(string[,] csvData)
{
var dateList = new List<String>();
var valuesList = new List<double>();
List<KeyValuePair<string, double>> valueList = new List<KeyValuePair<string, double>>();
for (int i = 1; i < csvData.GetLength(0) - 1; i++)
{
String date = csvData[i, 1];
String values = csvData[i, 14];
date = date.Remove(0, 1);
date = date.Remove(date.Length - 1, 1);
values = values.Remove(0, 1);
values = values.Remove(values.Length - 1, 1);
dateList.Add(date);
valuesList.Add(Double.Parse(values));
valueList.Add(new KeyValuePair<string, Double>(date, Double.Parse(values)));
}
var result = valueList
.GroupBy(r => r.Key)
.Select(r => new KeyValuePair<string, double>(r.Key, r.Sum(p => p.Value)))
.ToList();
return result;
}
Мой результат - большой список дат в виде строковых и валютных значений в виде двойных чисел, например:
{[29.03.19, EUR]}{[28.03.19, EUR]}{[27.03.19, EUR]}{[26.03.19, EUR]}{[25.03.19, EUR]}{[19.03.19, EUR]}{[18.03.19, EUR]}{[14.03.19, EUR]}{[12.03.19, EUR]}{[11.03.19, EUR]}{[08.03.19, EUR]}{[07.03.19, EUR]}{[06.03.19, EUR]}{[05.03.19, EUR]}{[04.03.19, EUR]}{[01.03.19, EUR]}{[28.02.19, EUR]}{[27.02.19, EUR]}{[26.02.19, EUR]}{[19.02.19, EUR]}{[12.02.19, EUR]}{[11.02.19, EUR]}{[07.02.19, EUR]}{[05.02.19, EUR]}{[04.02.19, EUR]}{[01.02.19, EUR]}
Моя проблема состоит в том, чтобы разделить эти KeyValuePair-List на отдельные списки для каждого месяца.
Например: я хочу извлечь только все «KeyValuePairs» за второй месяц и записать их в отдельный KeyValuePair-List.