Unzip3

Splits a collection of triples into three collections.

Parameters

Returns

IEnumerable<(T, T2, T3)> source

(IEnumerable<T>, IEnumerable<T2>, IEnumerable<T3>)

Usage

With same type collections

//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 }

With different types collections

//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" }

Last updated