> For the complete documentation index, see [llms.txt](https://docs.yarnspinner.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yarnspinner.dev/3.1/api/csharp/yarn.compiler/yarn.compiler.position.md).

# Position

Class in [Yarn.Compiler](/3.1/api/csharp/yarn.compiler.md)

Inherits from `System.Object`

## Summary

Represents a position in a multi-line string.

```csharp
public class Position
```

## Constructors

| Name                                                                                                        | Description                                                                             |
| ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| [Position()](/3.1/api/csharp/yarn.compiler/yarn.compiler.position/yarn.compiler.position..ctor-2.md)        | Initialises a new instance of the Position class.                                       |
| [Position(int,int)](/3.1/api/csharp/yarn.compiler/yarn.compiler.position/yarn.compiler.position..ctor-1.md) | Initialises a new instance of the Position class with the specified line and character. |

## Fields

| Name                                                                                                              | Description                                  |
| ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| [InvalidPosition](/3.1/api/csharp/yarn.compiler/yarn.compiler.position/yarn.compiler.position.invalidposition.md) | Represents the default value for a Position. |

## Methods

| Name                                                                                                        | Description |
| ----------------------------------------------------------------------------------------------------------- | ----------- |
| [Equals(object)](/3.1/api/csharp/yarn.compiler/yarn.compiler.position/yarn.compiler.position.equals.md)     |             |
| [GetHashCode()](/3.1/api/csharp/yarn.compiler/yarn.compiler.position/yarn.compiler.position.gethashcode.md) |             |
| [ToString()](/3.1/api/csharp/yarn.compiler/yarn.compiler.position/yarn.compiler.position.tostring.md)       |             |

## Properties

| Name                                                                                                  | Description                                                                                     |
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| [Character](/3.1/api/csharp/yarn.compiler/yarn.compiler.position/yarn.compiler.position.character.md) | Gets or sets the zero-indexed character number of this position.                                |
| [IsValid](/3.1/api/csharp/yarn.compiler/yarn.compiler.position/yarn.compiler.position.isvalid.md)     | Gets a value indicating whether this position has a zero or positive line and character number. |
| [Line](/3.1/api/csharp/yarn.compiler/yarn.compiler.position/yarn.compiler.position.line.md)           | Gets or sets the zero-indexed line of this position.                                            |

## TYPENAME\_UNKNOWN\_PLURAL

| Name                                                                                                                                                                                                   | Description                                                                |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |
| [M:Yarn.Compiler.Position.op\_Addition(Yarn.Compiler.Position,Yarn.Compiler.Position)](/3.1/api/csharp/yarn.compiler/yarn.compiler.position/yarn.compiler.position.op_addition.md)                     | Adds two positions by component and returns the result.                    |
| [M:Yarn.Compiler.Position.op\_GreaterThanOrEqual(Yarn.Compiler.Position,Yarn.Compiler.Position)](/3.1/api/csharp/yarn.compiler/yarn.compiler.position/yarn.compiler.position.op_greaterthanorequal.md) | Compares two positions and returns true if `a` is equal to or after `b` .  |
| [M:Yarn.Compiler.Position.op\_LessThanOrEqual(Yarn.Compiler.Position,Yarn.Compiler.Position)](/3.1/api/csharp/yarn.compiler/yarn.compiler.position/yarn.compiler.position.op_lessthanorequal.md)       | Compares two positions and returns true if `a` is equal to or before `b` . |
