diff --git a/src/LinqRb/Extensions/IEnumerable.cs b/src/LinqRb/Extensions/IEnumerable.cs
index b33114f..93a03c2 100644
--- a/src/LinqRb/Extensions/IEnumerable.cs
+++ b/src/LinqRb/Extensions/IEnumerable.cs
@@ -18,7 +18,25 @@ namespace System.Linq
if(!predicate(element)) yield return element;
}
}
-
+
+ ///
+ /// Break a list of items into chunks of a specific size
+ ///
+ public static IEnumerable> Chunk(this IEnumerable source, int chunksize)
+ {
+ var enumerator = source.GetEnumerator();
+ var arr = new List(chunksize);
+ while (enumerator.MoveNext())
+ {
+ arr.Add(enumerator.Current);
+ if(arr.Count >= chunksize)
+ {
+ yield return arr;
+ arr = new List(chunksize);
+ }
+ }
+ }
+
///
/// Returns the first array that contains the object
///