﻿# V3199\. The index from end operator is used with the value that is less than or equal to zero\. Collection index will be out of bounds\.

The analyzer has detected that a collection element is being accessed using the '^' operator with a value less than or equal to 0\. This results in an exception of the 'IndexOutOfRangeException' type\.

Let's look at the following example: 

```cpp
T GetLastItem<T>(T[] array)
{
    return array[^0];
}
```

The '^' operator indicates that the index is counted from the end of the sequence\. It may not be obvious that '^0' is equal to 'array\.Length'\. Attempting to get the last collection element via '^0' results in the exception, just like when using 'array\[array\.Length\]'\.

Here's the fixed code:

```cpp
T GetLastItem<T>(T[] array)
{
    return array[^1]; 
}
```