У меня есть фрагмент, как показано ниже. В принципе, я хотел бы создать словарь из серии, которую я сейчас имею. Если бы я сделал это долгий путь, проблем не было, код работал нормально, и я получил ожидаемые результаты.Альтернативная реализация для создания словаря с использованием Linq
class Program
{
static void Main(string[] args)
{
List<int> series = new List<int>() { 1,2,3,4 };
Dictionary<int, List<int>> D = new Dictionary<int,List<int>>();
foreach (var item in series)
{
D.Add(item, seriesWithinSeries(item));
}
}
public static List<int> seriesWithinSeries(int seed)
{
return Enumerable.Range(0, seed).Where(x => x < seed).ToList();
}
}
Как его преобразовать в Linq? Я пробовал:
D = series.Select(x=> { return new (x,seriesWithinSeries(x));}).ToDictionary<int,List<int>>();
Но жалобы компилятора Мне нужен тип для нового, что имеет смысл. Однако я не знаю, как это исправить. Пожалуйста помоги.
вар d = series.ToDictionary (пункт => пункт, пункт => SeriesWithinSeries (пункт)); – abhi