Вы можете использовать morelinq от Jon Skeet. Используйте Batch как:
string str = "1111222233334444";
int chunkSize = 4;
var chunks = str.Batch(chunkSize).Select(r => new String(r.ToArray()));
Это вернет 4 куска для строки "1111222233334444"
. Если длина строки меньше или равна размеру куска Batch
, она вернет строку как единственный элемент IEnumerable
. Для вывода:
foreach (var chunk in chunks)
{
Console.WriteLine(chunk);
}
, и это даст:
1111
2222
3333
4444