Click or drag to resize
Accord.NET (logo)

MatrixGetIndices Method

Creates a vector containing every index that can be used to address a given array, in order.

Namespace:  Accord.Math
Assembly:  Accord.Math (in Accord.Math.dll) Version: 3.8.0
Syntax
public static IEnumerable<int[]> GetIndices(
	this Array array,
	bool deep = false,
	bool max = false
)
Request Example View Source

Parameters

array
Type: SystemArray
The array whose indices will be returned.
deep (Optional)
Type: SystemBoolean
Pass true to retrieve all dimensions of the array, even if it contains nested arrays (as in jagged matrices).
max (Optional)
Type: SystemBoolean
Bases computations on the maximum length possible for each dimension (in case the jagged matrices has different lengths).

Return Value

Type: IEnumerableInt32
An enumerable object that can be used to iterate over all positions of the given array.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Array. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
Examples
double[,] a = 
{ 
   { 5.3, 2.3 },
   { 4.2, 9.2 }
};

foreach (int[] idx in a.GetIndices())
{
   // Get the current element
   double e = (double)a.GetValue(idx);
}
See Also