# CandidateBarcodeZonesUnit Class

The `CandidateBarcodeZonesUnit` class represents a unit that contains candidate barcode zones unit. It inherits from the `IntermediateResultUnit` class.

## Definition

*Namespace:* Dynamsoft.DBR.intermediate_results


*Inheritance:* [IntermediateResultUnit](https://www.dynamsoft.com/capture-vision/docs/server/programming/dotnet/api-reference/core/intermediate-results/intermediate-result-unit.md) -> CandidateBarcodeZonesUnit

```csharp
class CandidateBarcodeZonesUnit : IntermediateResultUnit
```

## Methods

| Method                            | Description |
|-----------------------------------|-------------|
| [`AddCandidateBarcodeZone`](#addcandidatebarcodezone)           | Adds a candidate barcode zone.|
| [`GetCandidateBarcodeZone`](#getcandidatebarcodezone)           | Gets a specific candidate barcode zone.|
| [`GetCandidateBarcodeZones`](#getcandidatebarcodezones)           | Gets all candidate barcode zones.|
| [`GetCount`](#getcount)           | Gets the number of candidate barcode zones in the unit.|
| [`RemoveAllCandidateBarcodeZones`](#removeallcandidatebarcodezones)           | Removes all the candidate barcode zones.|
| [`RemoveCandidateBarcodeZone`](#removecandidatebarcodezone)           | Removes a candidate barcode zone at the specified index.|
| [`SetCandidateBarcodeZone`](#setcandidatebarcodezone)           | Sets a candidate barcode zone at the specified index.|

### Inherited Methods

Checkout inherited methods from [IntermediateResultUnit](https://www.dynamsoft.com/capture-vision/docs/server/programming/dotnet/api-reference/core/intermediate-results/intermediate-result-unit.md) for more details.

### AddCandidateBarcodeZone

Adds a candidate barcode zone.

```csharp
int AddCandidateBarcodeZone(CandidateBarcodeZone barcodeZone, double[] matrixToOriginalImage = null)
```

**Parameters**

`barcodeZone` The candidate barcode zone.

`matrixToOriginalImage` The matrix to original image.

**Return value**

Returns 0 if successful, otherwise returns a negative value.

### GetCandidateBarcodeZone

Gets a candidate barcode zone specified by index.

```csharp
int GetCandidateBarcodeZone(int index, out CandidateBarcodeZone barcodeZone)
```

**Parameters**

`[in] index` The index of the candidate barcode zone.

`[out] barcodeZone` The candidate barcode zone.

**Return value**

Returns 0 if successful, otherwise returns a negative value.

**See Also**

[CandidateBarcodeZone](https://www.dynamsoft.com/barcode-reader/docs/server/programming/dotnet/api-reference/candidate-barcode-zone.md)

### GetCandidateBarcodeZones

Gets all candidate barcode zones.

```csharp
int GetCandidateBarcodeZones(out CandidateBarcodeZone[] barcodeZones)
```

**Parameters**

`[out] barcodeZones` The all candidate barcode zones.

**Return value**

Returns 0 if successful, otherwise returns a negative value.

**See Also**

[CandidateBarcodeZone](https://www.dynamsoft.com/barcode-reader/docs/server/programming/dotnet/api-reference/candidate-barcode-zone.md)

### GetCount

Gets the number of localized barcodes in the unit.

```csharp
int GetCount()
```

**Return value**

Returns the number of candidate barcode zones in the unit.

### RemoveAllCandidateBarcodeZones

Removes all the candidate barcode zones

```csharp
void RemoveAllCandidateBarcodeZones()
```

### RemoveCandidateBarcodeZone

Removes a candidate barcode zone at the specified index

```csharp
int RemoveCandidateBarcodeZone(int index)
```

**Parameters**

`index` The index of the candidate barcode zone.

**Return value**

Returns 0 if successful, otherwise returns a negative value.

### SetCandidateBarcodeZone

Sets a candidate barcode zone at the specified index.

```csharp
int SetCandidateBarcodeZone(int index, CandidateBarcodeZone barcodeZone, double[] matrixToOriginalImage = null)
```

**Parameters**

`index` The index of the candidate barcode zone.

`barcodeZone` The candidate barcode zone.

`matrixToOriginalImage` The matrix to original image.

**Return value**

Returns 0 if successful, otherwise returns a negative value.

**See Also**

[CandidateBarcodeZone](https://www.dynamsoft.com/barcode-reader/docs/server/programming/dotnet/api-reference/candidate-barcode-zone.md)
