What happened to the last line of the above example?
The line throws an error, because t2 is a new byte?[4, 4] array from 2d, since r2 is an array of List of byte?[,] 2d
var r2 = new List<byte?[,]>(t2);
so the solution will go through the List of byte?[,] in it, like this
var r2 = new List<byte?[,]>(new List<byte?[,]>());
Also t is the corresponding 2d array in the list that can be passed to r2
var r2 = new List<byte?[,]>(t);
source share