> For the complete documentation index, see [llms.txt](https://gabriel-schade-cardoso.gitbook.io/tango-br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gabriel-schade-cardoso.gitbook.io/tango-br/modulos/collection/mapindexed.md).

# MapIndexed

É gerada uma nova coleção com o resultado da função `mapping` aplicado em cada um dos elementos. Neste caso a função `mapping` além de receber o elemento, recebe seu índice.

| Parâmetros                                                         | Retorno               |
| ------------------------------------------------------------------ | --------------------- |
| <p>Func\<int, T, TResult> mapping</p><p>IEnumerable\<T> source</p> | IEnumerable\<TResult> |

## Como usar

&#x20;**Multiplicando os valores em uma coleção pelo valor respectivo de seu índice**

```csharp
//IEnumerable<int> source = { 1, 2, 3 }

IEnumerable<int> result = 
    source.MapIndexed(
        (index, value) => value * index);

//result = { 0, 2, 6 }
```

&#x20;**Retornando o índice e o elemento através de uma tupla**&#x20;

```csharp
//IEnumerable<int> source = { 1, 2, 3 }

IEnumerable<int> result = 
    source.MapIndexed(
        (index, value) => (index, value) );

//result = { (0,1), (1,2), (2,3) }
```
