byte[] result = new byte[data.GetLength(0) * data.GetLength(1)];
for (int i = 0; i < result.GetLength(0); i++)
{
result[i] = data[i / data.GetLength(1), i % data.GetLength(1)];
}
public static IEnumerable<T> ToEnumerable<T>(this Array target)
{
foreach (var item in target)
yield return (T)item;
}
test:
int[,] aa = new int[2, 2] {{1, 2}, {1, 2}};
int[,,] aaa = new int[2,2,2] {{{1,2},{1,2}}, {{1,2},{1,2}}};
var enumerable = from i in aaa.ToEnumerable<int>()
select i;
foreach (var i in enumerable)
{
Console.WriteLine(i);
}
foreach (var i in aaa)
{
Console.WriteLine(i);
}
Console.Clear();
Console.WriteLine(aaa[1,0,0]);