In this C# tips & tricks post , we will look at a simple usage of LINQ in C# to split list into multiple list with the extension method.
How to Split list into multiple list in C# ?
Assume that you have a ListSize which you will need to split the list. For example , if you have a list with 4 elements and you wish to convert them in to 4 different lists. Here’s a code snippet demonstrating how you can do that.
public static class TestExtensionMethod
{
public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> sourceList, int ListSize)
{
while (sourceList.Any())
{
yield return sourceList.Take(ListSize);
sourceList = sourceList.Skip(ListSize);
}
}
}Here’s the full code snippet.
using System;
using System.Collections.Generic;
using System.Linq;
namespace DeveloperPublish
{
internal class Program
{
private static void Main(string[] args)
{
List<string> Names = new List<string>
{ "Senthil Kumar" , "Ashwini Sambandan" , "Norton Stanley" , "Santhosh"
};
var result = Names.Split(1).ToList();
Console.WriteLine(result[0]);
Console.ReadLine();
}
}
public static class TestExtensionMethod
{
public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> sourceList, int ListSize)
{
while (sourceList.Any())
{
yield return sourceList.Take(ListSize);
sourceList = sourceList.Skip(ListSize);
}
}
}
}Output
