using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
public static void Main()
var list = CreateList(4, 4);
list.Take(2).SelectMany(o => o.Take(2)).Dump();
public static List<List<(int, int)>> CreateList(int rows, int columns)
var mat = new List<List<(int, int)>>();
for (int i = 0; i < rows * columns; i++)
var r = mat.ElementAtOrDefault(row);
mat.Add(r = new List<(int, int)>());
public static List<List<Device>> CreateDevices(int rows, int columns)
var mat = new List<List<Device>>();
var tenantUuids = Enumerable.Range(0, rows).Select(_ => Guid.NewGuid()).ToArray();
for (int i = 0; i < rows * columns; i++)
var r = mat.ElementAtOrDefault(row);
mat.Add(r = new List<Device>());
r.Add(new Device { TenantUuid = tenantUuids[row], DeviceUuid = Guid.NewGuid() });
public Guid TenantUuid { get; set; }
public Guid DeviceUuid { get; set; }