Array2D<T> Structure

Represents a 2-dimensional array stored in a linear array.

Definition

Namespace: Numerics.NET.Collections
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.0
C#
public readonly struct Array2D<T> : IStorage2D<T, ArraySlice<T>, Array2D<T>>, 
	IStorage2D<T, Array2D<T>>, IStorage2D<T>
Inheritance
Object  →  ValueType  →  Array2D<T>
Implements
IStorage2D<T>, IStorage2D<T, Array2D<T>>, IStorage2D<T, ArraySlice<T>, Array2D<T>>

Type Parameters

T
The element type of the array.

Remarks

Use the Array2D<T> structure to represent two-dimensional arrays in a format suitable for calling external libraries like BLAS and LAPACK. The two-dimensional array is stored in a linear array. Columns are stored in contuguous blocks with a fixed number of elements between them.

Array2D<T> objects do not have a size. The actual dimensions must be supplied separately.

  Caution

The Array2D<T> type is meant for performance-critical code. No bounds checks or other validation is performed.

Constructors

Array2D<T>(Int32, Int32) Constructs a new array.
Array2D<T>(T[], Int32, Int32) Constructs a new array.
Array2D<T>(Int32, Int32, Boolean) Constructs a new array.

Properties

Item Gets or sets the element at the specified position.
LeadingDimension Gets the number of elements between the start of successive columns.
Memory2D Gets a 2D memory block over the elements of the array.

Return Value

A Memory2D<T>.
Offset Gets the offset of the first element in the storage array.
Span2D Gets a 2D span over the elements of the array.

Return Value

A Span2D<T>.
Values Gets the storage array.

Methods

AsArray1D Returns the array as an array with offset.
AsSlice Returns the array as an array slice with unit leadingDimension.
Clear Sets the specified number of elements to their default value.
Clone Creates a deep copy of the array.
CloneData Returns a new contiguous 2D array with the specified elements of the current array.
Column Returns an array with offset that corresponds to a column in the array.
ColumnFrom Returns an array with offset that corresponds to a column in the array that starts at the specified position.
CreateEmpty Creates an empty 2D array with the specified leading dimension.
Diagonal Returns an array slice that corresponds to a column in the array.
Equals Checks if an object is equal to this instance.
(Overrides ValueType.Equals(Object))
From(Int32, Int32) Returns the array starting at the specified position.
From(Int32, Int32, Int32) Returns the array starting at the specified position with the specified leading dimension.
GetHashCode Gets a hash code for this instance.
(Overrides ValueType.GetHashCode())
GetIndex Gets the index in the storage array of the element at the specified position.
GetTypeGets the Type of the current instance.
(Inherited from Object)
Resize Returns a new array with the specified size and leading dimension. Elements are copied to the new array.
Row Returns the array slice that corresponds to a row in the array that starts at the specified position.
RowFrom Returns the array slice that corresponds to a row in the array that starts at the specified position.
SliceFrom Returns an array slice with a specified stride that starts at the specified position.
Span Gets a span over the elements of the array.

Return Value

A Span<T>.
ToStringReturns the fully qualified type name of this instance.
(Inherited from ValueType)
Transpose Transposes the elements of the 2D array and returns the result.
TransposeTo Transposes the elements of the 2D array and returns the result in the specified array.
VectorFrom Returns an array slice with a specified stride that starts at the specified position.
Obsolete.
WithLeadingDimension Returns the array at the current position with the specified leading dimension.
Obsolete.

Operators

Equality(Array2D<T>, Array2D<T>) Checks whether two 2D arrays are equal.
Implicit(Array2D<T> to ReadOnlySpan<T>) Implicitly converts a 2D array to a read-only span.
Implicit(Array2D<T> to Span<T>) Implicitly converts a 2D array to a (writable) span.
Inequality(Array2D<T>, Array2D<T>) Checks whether two 2D arrays are not equal.

Fields

Empty Returns an empty 2D array.

See Also