# CMxDoubleArray Class

Namespace: `ArchestrA.Toolkit`

CMxDoubleArray is derived from CMxArray and provides support for Double Array Attributes.

**Syntax**

```csharp
public class CMxDoubleArray : CMxArray<double>
```

## CMxDoubleArray Properties

### Value Property

Provides a property to get and set the value as a double array.

**Syntax**

```csharp
public double [] Value { get; set; }
```

**Returns**

double [ ]

### Property to Get and Set Double Value using [ ] Operator

Provides a property to get and set the double value of an element using [ ] operator.

**Syntax**

```csharp
public double this[short i] { get; set; }
```

**Returns**

double

## CMxDoubleArray Constructors

### CMxDoubleArray Constructor (int)

Provides a constructor to initialize the array to a default length.

**Syntax**

```csharp
public CMxDoubleArray(int length);
```

**Parameters**

**`length`**

[in] int value that holds the length of array.

### CMxDoubleArray Constructor (double[ ])

Provides a constructor to initialize the class with a double array default value.

**Syntax**

```csharp
public CMxDoubleArray(double [] value);
```

**Parameters**

**`value`**

[in] double [ ] value to be set.

### CMxDoubleArray Constructor (SupportWrapper, string)

Provides a constructor to initialize the class for use in a primitive wrapper.

**Syntax**

```csharp
public CMxDoubleArray (SupportWrapper _wrapper, string _attributeRef);
```

**Parameters**

**`_wrapper`**

[in] SupportWrapper.

**`_attributeRef`**

[in] string value that holds the attribute reference.

## CMxDoubleArray Method

### Set Method

Provides a method to set the value of the Attribute from a CMxDoubleArray.

**Syntax**

```csharp
public void Set(CMxDoubleArray newValue);
```

**Parameters**

**`newValue`**

[in] CMxDoubleArray value to be set.

## CMxDoubleArray Operator Overloads

### CMxDoubleArray Operator Overload (double[ ])

Provides an operator to convert a double array into a CMxDoubleArray.

**Syntax**

```csharp
public static implicit operator CMxDoubleArray(double [] val);
```

**Parameters**

**`val`**

[in] double [ ] value to convert to CMxDoubleArray.

**Returns**

CMxDoubleArray

### CMxValue Operator Overload

Provides an operator to convert a CMxDoubleArray into a CMxValue.

**Syntax**

```csharp
public static implicit operator CMxValue(CMxDoubleArray val);
```

**Parameters**

**`val`**

[in] CMxDoubleArray value to convert to CMxValue.

**Returns**

CMxValue

### Double Operator Overload

Provides an operator to convert a CMxDoubleArray into a double array.

**Syntax**

```csharp
public static implicit operator double [](CMxDoubleArray val);
```

**Parameters**

**`val`**

[in] CMxDoubleArray value to convert to double [].

**Returns**

double

### CMxDoubleArray Operator Overload (CMxValue)

Provides an operator to convert a CMxValue into a CMxDoubleArray.

**Syntax**

```csharp
public static implicit operator CMxDoubleArray(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue value to convert to CMxDoubleArray.

**Returns**

CMxDoubleArray
