Skip to content

Instantly share code, notes, and snippets.

@hunty
Created October 13, 2017 16:08
Show Gist options
  • Save hunty/6e5709d56cc9eecaf7cffa8a6f217aa7 to your computer and use it in GitHub Desktop.
Save hunty/6e5709d56cc9eecaf7cffa8a6f217aa7 to your computer and use it in GitHub Desktop.
/// <summary>
/// Разбивает массив строк на части, заданного размера. Возращает список частей
/// </summary>
/// <param name="array">Массив для разбиения на части</param>
/// <param name="chunkSize">Размер части. Часть может быть меньше, если остаток массива меньше (краешек)</param>
/// <returns></returns>
static public List<string[]> MakeChunksFromArray(string[] array, int chunkSize) // todo можно сделать generic
{
var chunks = new List<string[]>();
for (var chunkStartPos = 0; chunkStartPos < array.Length; chunkStartPos += chunkSize)
{
var take = chunkSize;
if (take + chunkStartPos > array.Length)
{
take = array.Length - chunkStartPos;
}
var chunk = new ArraySegment<string>(array, chunkStartPos, take).ToArray();
chunks.Add(chunk);
}
return chunks;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment