Feedback

C# - Liste in Listen mit Maximalgröße aufteilen

Veröffentlicht von am 31.08.2014
(1 Bewertungen)
Diese generische Methode zerteilt eine Liste in mehrere Listen.

Bsp:
Übergeben wird eine Liste mit 91000 Einträgen:
var myList = new List<string>();

for (int i = 0; i < 91000; i++)
{
myList.Add(i.ToString());
}

var chunks = SplitList(myList, 40000);


Rückgabewert ist:
Liste1 mit 40000 Einträgen
Liste2 mit 40000 Einträgen
Liste3 mit 11000 Einträgen
/// <summary>
/// Splitting a generic list into multiple lits
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="list">List to split</param>
/// <param name="chunkSize">maximal size of items per list</param>
/// <returns></returns>
public static List<List<T>> SplitList<T>(List<T> list, int chunkSize)
{
    var returnList = new List<List<T>>();
    var index = 0;
    while (index < list.Count)
    {
        var count = list.Count - index > chunkSize ? chunkSize : list.Count - index;
        returnList.Add(list.GetRange(index, count));
        index += chunkSize;
    }
    return returnList;
}
Abgelegt unter list, generic, split.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!