using System.Collections.Generic;
public static void Main()
Dictionary<string, List<FirstReportsData>> dict1 = new Dictionary<string, List<FirstReportsData>>();
dict1.Add("00", new() { new() { Id = 0 }, new() { Id = 1 }, new() { Id = 2 }, new() { Id = 3 }, new() { Id = 4 } });
dict1.Add("01", new() { new() { Id = 0 }, new() { Id = 1 }, new() { Id = 2 } });
dict1.Add("02", new() { new() { Id = 0 }, new() { Id = 1 }, new() { Id = 2 }, new() { Id = 3 }, new() { Id = 4 }, new() { Id = 5 } });
if (dict1.TryGetValue("00", out var values))
var firstHalf = values.Take(values.Count / 2);
var secondHalf = values.Skip(values.Count / 2);
Console.WriteLine("First Half of 00");
foreach (var item in firstHalf)
Console.WriteLine(item.Id);
Console.WriteLine("Second Half of 00");
foreach (var item in secondHalf)
Console.WriteLine(item.Id);
var fisrtHalfDict = dict1.ToDictionary(x => x.Key, x => new List<FirstReportsData>(x.Value.Take(x.Value.Count / 2)));
var secondHalfDict = dict1.ToDictionary(x => x.Key, x => new List<FirstReportsData>(x.Value.Skip(x.Value.Count / 2)));
Console.WriteLine("First Half Dict");
foreach (var keyValue in fisrtHalfDict)
Console.WriteLine($"Entries of {keyValue.Key}");
foreach (var item in keyValue.Value)
Console.WriteLine(item.Id);
Console.WriteLine("Second Half Dict");
foreach (var keyValue in secondHalfDict)
Console.WriteLine($"Entries of {keyValue.Key}");
foreach (var item in keyValue.Value)
Console.WriteLine(item.Id);
Console.WriteLine("Read a specific item in the new dicts");
if (fisrtHalfDict.TryGetValue("00", out var firstHalfList))
Console.WriteLine("First Half of 00");
foreach (var item in firstHalfList)
Console.WriteLine(item.Id);
if (secondHalfDict.TryGetValue("00", out var secondHalfList))
Console.WriteLine("Second Half of 00");
foreach (var item in secondHalfList)
Console.WriteLine(item.Id);
public class FirstReportsData
public FirstReportsData() { }
public int Id { get; set; }
public int FirstReportsItemId { get; set; }
public string Policy { get; set; }
public string CarrierCode { get; set; }
public string StateCode { get; set; }
public string RecordTypeCode { get; set; }
public string RecordData { get; set; }