# OptionalContentOrderArray Class

> Array node class for items in the OptionalContentConfig Order array.

- Product: Adobe PDF Library 21
- Language: .NET Framework
- Version: APDFL21.0.0PlusP1e
- HTML page: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/OptionalContentOrderArray
- Version index: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/llms.txt

```csharp
class OptionalContentOrderArray : OptionalContentOrderNode
```

**Namespace:** `Datalogics::PDFL`

**Inherits from:** [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/OptionalContentOrderNode.md)

## Description

Array node class for items in the OptionalContentConfig Order array.

Items in the Order array can be arranged into a tree structure; subarrays within the parent array form 'branches' of the tree. Each OptionalContentOrderArray may contain OptionalContentOrderLeafs or OptionalContentOrderArrays in a specific order; this order determines how they will appear in the 'Layers' control of the viewer.

By placing OptionalContentOrderArrays into a higher-level array, branches can be added to the tree. The 'Title' property is a string that will appear next to the expand/collapse branch control in a PDF Viewer 'Layers' panel.

**Referenced by:** [`OptionalContentConfig`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/OptionalContentConfig.md)

**Uses types:** [`Document`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Document.md), [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/OptionalContentOrderNode.md)

## Constructors

### OptionalContentOrderArray

```csharp
Datalogics.PDFL.OptionalContentOrderArray.OptionalContentOrderArray(Document doc)
```

*constructor*

**Parameters**

- `doc` ([`Document`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Document.md)): The Document this OptionalContentOrderArray is being created in

Create an OptionalContentOrderArray with no title.

### OptionalContentOrderArray

```csharp
Datalogics.PDFL.OptionalContentOrderArray.OptionalContentOrderArray(Document doc, string title)
```

*constructor*

**Parameters**

- `doc` ([`Document`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Document.md)): The Document this OptionalContentOrderArray is being created in
- `title` (`string`): The string which will appear in the Layer control panel

Create an OptionalContentOrderArray with a title.

## Properties

### Length

```csharp
int Datalogics.PDFL.OptionalContentOrderArray.Length { get; }
```

Gets the number of OptionalContentOrderNodes in this array.

### Title

```csharp
string Datalogics.PDFL.OptionalContentOrderArray.Title { get; set; }
```

Gets the title string of this Array.

This title will appear next to the expand/collapse control in the 'Layers' panel of a PDF Viewer.

## Methods

### Add

```csharp
void Datalogics.PDFL.OptionalContentOrderArray.Add(OptionalContentOrderNode node)
```

**Parameters**

- `node` ([`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/OptionalContentOrderNode.md)): The OptionalContentOrderNode to append to the Array

**Returns:** `void`

Adds an OptionalContentOrderNode to the end of the Array.

### Dispose

```csharp
void Datalogics.PDFL.OptionalContentOrderNode.Dispose()
```

**Returns:** `void`

### Get

```csharp
OptionalContentOrderNode Datalogics.PDFL.OptionalContentOrderArray.Get(int index)
```

**Parameters**

- `index` (`int`): The index at which to fetch an OptionalContentOrderNode.

**Returns:** [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/OptionalContentOrderNode.md)

An OptionalContentOrderNode, or null if there is nothing at that index.

Returns the OptionalContentOrderNode at the given index.

### Insert

```csharp
void Datalogics.PDFL.OptionalContentOrderArray.Insert(int index, OptionalContentOrderNode node)
```

**Parameters**

- `index` (`int`): The index at which to insert the Node
- `node` ([`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/OptionalContentOrderNode.md)): The OptionalContentOrderNode to insert in the Array

**Returns:** `void`

Inserts an OptionalContentOrderNode at the given index, displacing existing objects. All objects following this will have their index increased by one.

### Put

```csharp
void Datalogics.PDFL.OptionalContentOrderArray.Put(int index, OptionalContentOrderNode node)
```

**Parameters**

- `index` (`int`): The index at which to replace the existing Node
- `node` ([`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/OptionalContentOrderNode.md)): The OptionalContentOrderNode to place in the Array

**Returns:** `void`

Puts an OptionalContentOrderNode at the given index, replacing the existing item. The index can be greater than the current length of the array; the array will be extended and the empty slots filled with null objects.

### RemoveAt

```csharp
void Datalogics.PDFL.OptionalContentOrderArray.RemoveAt(int index)
```

**Parameters**

- `index` (`int`): The index of the OptionalContentOrderNode to remove

**Returns:** `void`

Removes the OptionalContentOrderNode at the given index. The length of the array is reduced by 1.
