# Struct NpgsqlPath

Namespace
  NpgsqlTypes

Assembly
  Npgsql.dll

Represents a PostgreSQL Path type.

    public struct NpgsqlPath : IList<NpgsqlPoint>, ICollection<NpgsqlPoint>, IEnumerable<NpgsqlPoint>, IEnumerable, IEquatable<NpgsqlPath>

Implements
  IList<NpgsqlPoint>
  ICollection<NpgsqlPoint>
  IEnumerable<NpgsqlPoint>
  IEnumerable
  IEquatable<NpgsqlPath>

Inherited Members
  object.Equals(object, object)
  object.GetType()
  object.ReferenceEquals(object, object)

## Constructors

### NpgsqlPath()

    public NpgsqlPath()

### NpgsqlPath(params NpgsqlPoint[])

    public NpgsqlPath(params NpgsqlPoint[] points)

#### Parameters

`points` NpgsqlPoint[]

### NpgsqlPath(bool)

    public NpgsqlPath(bool open)

#### Parameters

`open` bool

### NpgsqlPath(IEnumerable<NpgsqlPoint>)

    public NpgsqlPath(IEnumerable<NpgsqlPoint> points)

#### Parameters

`points` IEnumerable<NpgsqlPoint>

### NpgsqlPath(IEnumerable<NpgsqlPoint>, bool)

    public NpgsqlPath(IEnumerable<NpgsqlPoint> points, bool open)

#### Parameters

`points` IEnumerable<NpgsqlPoint>
`open` bool

### NpgsqlPath(int)

    public NpgsqlPath(int capacity)

#### Parameters

`capacity` int

### NpgsqlPath(int, bool)

    public NpgsqlPath(int capacity, bool open)

#### Parameters

`capacity` int
`open` bool

## Properties

### Capacity

    public int Capacity { get; }

#### Property Value

int

### Count

Gets the number of elements contained in the ICollection<T>.

    public int Count { get; }

#### Property Value

int

  The number of elements contained in the ICollection<T>.

### IsReadOnly

Gets a value indicating whether the ICollection<T> is read-only.

    public bool IsReadOnly { get; }

#### Property Value

bool

  true if the ICollection<T> is read-only; otherwise, false.

### this[int]

Gets or sets the element at the specified index.

    public NpgsqlPoint this[int index] { get; set; }

#### Parameters

`index` int

  The zero-based index of the element to get or set.

#### Property Value

NpgsqlPoint

  The element at the specified index.

#### Exceptions

ArgumentOutOfRangeException

  `index` is not a valid index in the IList<T>.

NotSupportedException

  The property is set and the IList<T> is read-only.

### Open

    public bool Open { readonly get; set; }

#### Property Value

bool

## Methods

### Add(NpgsqlPoint)

Adds an item to the ICollection<T>.

    public void Add(NpgsqlPoint item)

#### Parameters

`item` NpgsqlPoint

  The object to add to the ICollection<T>.

#### Exceptions

NotSupportedException

  The ICollection<T> is read-only.

### Clear()

Removes all items from the ICollection<T>.

    public void Clear()

#### Exceptions

NotSupportedException

  The ICollection<T> is read-only.

### Contains(NpgsqlPoint)

Determines whether the ICollection<T> contains a specific value.

    public bool Contains(NpgsqlPoint item)

#### Parameters

`item` NpgsqlPoint

  The object to locate in the ICollection<T>.

#### Returns

bool

  true if `item` is found in the ICollection<T>; otherwise, false.

### CopyTo(NpgsqlPoint[], int)

Copies the elements of the ICollection<T> to an Array, starting at a particular Array index.

    public void CopyTo(NpgsqlPoint[] array, int arrayIndex)

#### Parameters

`array` NpgsqlPoint[]

  The one-dimensional Array that is the destination of the elements copied from ICollection<T>. The Array must have zero-based indexing.

`arrayIndex` int

  The zero-based index in `array` at which copying begins.

#### Exceptions

ArgumentNullException

  `array` is null.

ArgumentOutOfRangeException

  `arrayIndex` is less than 0.

ArgumentException

  The number of elements in the source ICollection<T> is greater than the available space from `arrayIndex` to the end of the destination `array`.

### Equals(NpgsqlPath)

Indicates whether the current object is equal to another object of the same type.

    public bool Equals(NpgsqlPath other)

#### Parameters

`other` NpgsqlPath

  An object to compare with this object.

#### Returns

bool

  true if the current object is equal to the `other` parameter; otherwise, false.

### Equals(object?)

Indicates whether this instance and a specified object are equal.

    public override bool Equals(object? obj)

#### Parameters

`obj` object

  The object to compare with the current instance.

#### Returns

bool

  true if `obj` and this instance are the same type and represent the same value; otherwise, false.

### GetEnumerator()

Returns an enumerator that iterates through the collection.

    public IEnumerator<NpgsqlPoint> GetEnumerator()

#### Returns

IEnumerator<NpgsqlPoint>

  An enumerator that can be used to iterate through the collection.

### GetHashCode()

Returns the hash code for this instance.

    public override int GetHashCode()

#### Returns

int

  A 32-bit signed integer that is the hash code for this instance.

### IndexOf(NpgsqlPoint)

Determines the index of a specific item in the IList<T>.

    public int IndexOf(NpgsqlPoint item)

#### Parameters

`item` NpgsqlPoint

  The object to locate in the IList<T>.

#### Returns

int

  The index of `item` if found in the list; otherwise, -1.

### Insert(int, NpgsqlPoint)

Inserts an item to the IList<T> at the specified index.

    public void Insert(int index, NpgsqlPoint item)

#### Parameters

`index` int

  The zero-based index at which `item` should be inserted.

`item` NpgsqlPoint

  The object to insert into the IList<T>.

#### Exceptions

ArgumentOutOfRangeException

  `index` is not a valid index in the IList<T>.

NotSupportedException

  The IList<T> is read-only.

### Remove(NpgsqlPoint)

Removes the first occurrence of a specific object from the ICollection<T>.

    public bool Remove(NpgsqlPoint item)

#### Parameters

`item` NpgsqlPoint

  The object to remove from the ICollection<T>.

#### Returns

bool

  true if `item` was successfully removed from the ICollection<T>; otherwise, false. This method also returns false if `item` is not found in the original ICollection<T>.

#### Exceptions

NotSupportedException

  The ICollection<T> is read-only.

### RemoveAt(int)

Removes the IList<T> item at the specified index.

    public void RemoveAt(int index)

#### Parameters

`index` int

  The zero-based index of the item to remove.

#### Exceptions

ArgumentOutOfRangeException

  `index` is not a valid index in the IList<T>.

NotSupportedException

  The IList<T> is read-only.

### ToString()

Returns the fully qualified type name of this instance.

    public override string ToString()

#### Returns

string

  The fully qualified type name.

## Operators

### operator ==(NpgsqlPath, NpgsqlPath)

    public static bool operator ==(NpgsqlPath x, NpgsqlPath y)

#### Parameters

`x` NpgsqlPath
`y` NpgsqlPath

#### Returns

bool

### operator !=(NpgsqlPath, NpgsqlPath)

    public static bool operator !=(NpgsqlPath x, NpgsqlPath y)

#### Parameters

`x` NpgsqlPath
`y` NpgsqlPath

#### Returns

bool