> ## Documentation Index
> Fetch the complete documentation index at: https://cdktn.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CSharp: Op

> CDKTN Core API Reference for Op in CSharp.

This class contains static functions for all arithmetical and logical operators in the Terraform configuration language.

## Initializers <a name="Initializers" id="cdktn.Op.Initializer" />

```csharp theme={null}
using Io.Cdktn;

new Op();
```

| **Name** | **Type** | **Description** |
| -------- | -------- | --------------- |

***

## Static Functions <a name="Static Functions" id="Static Functions" />

| **Name**                                           | **Description**         |   |        |
| -------------------------------------------------- | ----------------------- | - | ------ |
| <code><a href="#cdktn.Op.add">Add</a></code>       | Renders left + right.   |   |        |
| <code><a href="#cdktn.Op.and">And</a></code>       | Renders left && right.  |   |        |
| <code><a href="#cdktn.Op.div">Div</a></code>       | Renders left / right.   |   |        |
| <code><a href="#cdktn.Op.eq">Eq</a></code>         | Renders left == right.  |   |        |
| <code><a href="#cdktn.Op.gt">Gt</a></code>         | Renders left > right.   |   |        |
| <code><a href="#cdktn.Op.gte">Gte</a></code>       | Renders left >= right.  |   |        |
| <code><a href="#cdktn.Op.lt">Lt</a></code>         | Renders left \< right.  |   |        |
| <code><a href="#cdktn.Op.lte">Lte</a></code>       | Renders left \<= right. |   |        |
| <code><a href="#cdktn.Op.mod">Mod</a></code>       | Renders left % right.   |   |        |
| <code><a href="#cdktn.Op.mul">Mul</a></code>       | Renders left \* right.  |   |        |
| <code><a href="#cdktn.Op.negate">Negate</a></code> | Renders -expression.    |   |        |
| <code><a href="#cdktn.Op.neq">Neq</a></code>       | Renders left != right.  |   |        |
| <code><a href="#cdktn.Op.not">Not</a></code>       | Renders !expression.    |   |        |
| <code><a href="#cdktn.Op.or">Or</a></code>         | Renders left            |   | right. |
| <code><a href="#cdktn.Op.sub">Sub</a></code>       | Renders left - right.   |   |        |

***

### `Add` <a name="Add" id="cdktn.Op.add" />

```csharp theme={null}
using Io.Cdktn;

Op.Add(object Left, object Right);
```

Renders left + right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.add.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.add.parameter.right" />

* *Type:* object

***

### `And` <a name="And" id="cdktn.Op.and" />

```csharp theme={null}
using Io.Cdktn;

Op.And(object Left, object Right);
```

Renders left && right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.and.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.and.parameter.right" />

* *Type:* object

***

### `Div` <a name="Div" id="cdktn.Op.div" />

```csharp theme={null}
using Io.Cdktn;

Op.Div(object Left, object Right);
```

Renders left / right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.div.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.div.parameter.right" />

* *Type:* object

***

### `Eq` <a name="Eq" id="cdktn.Op.eq" />

```csharp theme={null}
using Io.Cdktn;

Op.Eq(object Left, object Right);
```

Renders left == right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.eq.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.eq.parameter.right" />

* *Type:* object

***

### `Gt` <a name="Gt" id="cdktn.Op.gt" />

```csharp theme={null}
using Io.Cdktn;

Op.Gt(object Left, object Right);
```

Renders left > right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.gt.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.gt.parameter.right" />

* *Type:* object

***

### `Gte` <a name="Gte" id="cdktn.Op.gte" />

```csharp theme={null}
using Io.Cdktn;

Op.Gte(object Left, object Right);
```

Renders left >= right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.gte.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.gte.parameter.right" />

* *Type:* object

***

### `Lt` <a name="Lt" id="cdktn.Op.lt" />

```csharp theme={null}
using Io.Cdktn;

Op.Lt(object Left, object Right);
```

Renders left \< right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.lt.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.lt.parameter.right" />

* *Type:* object

***

### `Lte` <a name="Lte" id="cdktn.Op.lte" />

```csharp theme={null}
using Io.Cdktn;

Op.Lte(object Left, object Right);
```

Renders left \<= right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.lte.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.lte.parameter.right" />

* *Type:* object

***

### `Mod` <a name="Mod" id="cdktn.Op.mod" />

```csharp theme={null}
using Io.Cdktn;

Op.Mod(object Left, object Right);
```

Renders left % right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.mod.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.mod.parameter.right" />

* *Type:* object

***

### `Mul` <a name="Mul" id="cdktn.Op.mul" />

```csharp theme={null}
using Io.Cdktn;

Op.Mul(object Left, object Right);
```

Renders left \* right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.mul.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.mul.parameter.right" />

* *Type:* object

***

### `Negate` <a name="Negate" id="cdktn.Op.negate" />

```csharp theme={null}
using Io.Cdktn;

Op.Negate(object Expression);
```

Renders -expression.

#### `Expression`<sup>Required</sup> <a name="Expression" id="cdktn.Op.negate.parameter.expression" />

* *Type:* object

***

### `Neq` <a name="Neq" id="cdktn.Op.neq" />

```csharp theme={null}
using Io.Cdktn;

Op.Neq(object Left, object Right);
```

Renders left != right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.neq.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.neq.parameter.right" />

* *Type:* object

***

### `Not` <a name="Not" id="cdktn.Op.not" />

```csharp theme={null}
using Io.Cdktn;

Op.Not(object Expression);
```

Renders !expression.

#### `Expression`<sup>Required</sup> <a name="Expression" id="cdktn.Op.not.parameter.expression" />

* *Type:* object

***

### `Or` <a name="Or" id="cdktn.Op.or" />

```csharp theme={null}
using Io.Cdktn;

Op.Or(object Left, object Right);
```

Renders left || right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.or.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.or.parameter.right" />

* *Type:* object

***

### `Sub` <a name="Sub" id="cdktn.Op.sub" />

```csharp theme={null}
using Io.Cdktn;

Op.Sub(object Left, object Right);
```

Renders left - right.

#### `Left`<sup>Required</sup> <a name="Left" id="cdktn.Op.sub.parameter.left" />

* *Type:* object

***

#### `Right`<sup>Required</sup> <a name="Right" id="cdktn.Op.sub.parameter.right" />

* *Type:* object

***
