> 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/unzip3.md).

# Unzip3

Separa uma coleção de trios (tuplas) em uma tupla com as três coleções.

| Parâmetros                      | Retorno                                               |
| ------------------------------- | ----------------------------------------------------- |
| IEnumerable<(T, T2, T3)> source | (IEnumerable\<T>, IEnumerable\<T2>, IEnumerable\<T3>) |

## Como usar

&#x20;**Com coleções do mesmo tipo**&#x20;

```csharp
//IEnumerable<int, int> source = { (1, 2, 3), (4, 5, 6) }

var (resultLeft, resultCenter, resultRight) = source.Unzip3();

//resultLeft =   { 1, 4 }
//resultCenter = { 2, 5 }
//resultRight =  { 3, 6 }
```

&#x20;**Com coleções de tipo diferentes**&#x20;

```csharp
//IEnumerable<int, bool, string> source = 
//    { (1, true, "Hello"), (2, false, "World")}

var (resultLeft, resultCenter, resultRight) = source.Unzip3();

//resultLeft =  { 1, 2 }
//resultCenter = { true, false }
//resultRight = { "Hello", "World" }
```
