DialectSoftware.Collections.Matrix (nuget): Provides matrix data structure suitable for storing elements in an n-dimensional cartesian coordinate system of positive integers.  example:              Axis x = new Axis("x", 0, 100, 1);             Axis y = new Axis("y", 0, 10, 1);              Matrix<long> matrix = new Matrix<long>(new []{x,y});             int i = 0;             for (; i < matrix.Axes[0].Points.Length; i++)             {                 matrix.Axes[0].Points[i].Label = "x" + i.ToString();             }             i = 0;             for (; i < matrix.Axes[1].Points.Length; i++)             {                 matrix.Axes[1].Points[i].Label = "y"+ i.ToString();             }              foreach (long[] c in matrix)             {                 matrix[c] = c[0] + c[1];             }              foreach (long[] c in matrix)             {                 Console.WriteLine("{0},{1} ({2},{3}) = {4}", matrix.Axes[0].Points[c[0]].Label, matrix.Axes[1].Points[c[1]].Label, c[0], c[1], matrix[c]);             }
Keywords: Data|Structures|Matrix|Collections