How to Split a List in C# - Step by Step Examples



How to Split a List in C# ?

Answer

To split a list in C#, you can use LINQ's Chunk method or iterate through the list manually to create sublists.



✐ Examples

1 Split a List Using LINQ

In this example,

  1. We include the necessary namespaces: System and System.Collections.Generic.
  2. We create a list named numbers with initial integer values.
  3. We define a chunk size.
  4. We use LINQ's Chunk method to split the list into chunks of the specified size.
  5. Finally, we print the list of chunks to standard output.

C# Program

using System;
using System.Collections.Generic;
using System.Linq;

class Program {
    static void Main() {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8 };
        int chunkSize = 3;
        var chunks = numbers.Chunk(chunkSize);
        foreach (var chunk in chunks) {
            Console.WriteLine(string.Join(", ", chunk));
        }
    }
}

public static class Extensions {
    public static IEnumerable<IEnumerable<T>> Chunk<T>(this IEnumerable<T> source, int chunkSize) {
        while (source.Any()) {
            yield return source.Take(chunkSize);
            source = source.Skip(chunkSize);
        }
    }
}

Output

1, 2, 3
4, 5, 6
7, 8

2 Split a List Manually

In this example,

  1. We include the necessary namespace: System.
  2. We create a list named numbers with initial integer values.
  3. We define a chunk size.
  4. We use a loop to iterate over the list and create sublists of the specified chunk size.
  5. The sublists are stored in a list, where each element represents a chunk of the original list.
  6. Finally, we print the list of chunks to standard output.

C# Program

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8 };
        int chunkSize = 3;
        List<List<int>> chunks = new List<List<int>>();
        for (int i = 0; i < numbers.Count; i += chunkSize) {
            chunks.Add(numbers.GetRange(i, Math.Min(chunkSize, numbers.Count - i)));
        }
        foreach (var chunk in chunks) {
            Console.WriteLine(string.Join(", ", chunk));
        }
    }
}

Output

1, 2, 3
4, 5, 6
7, 8

Summary

In this tutorial, we learned How to Split a List in C# language with well detailed examples.




More C# Lists Tutorials

  1. How to create an Empty List in C# ?
  2. How to Initialize a List in C# ?
  3. How to Get Length of a List in C# ?
  4. How to create a List of size N in C# ?
  5. How to create a List of Numbers from 1 to N in C# ?
  6. How to create a List of Strings in C# ?
  7. How to create a List of Empty Lists in C# ?
  8. How to Access Elements in a List in C# ?
  9. How to get Element in a List at a Specific Index in C# ?
  10. How to get First Element in a List in C# ?
  11. How to get Last Element in a List in C# ?
  12. How to Iterate Over a List in C# ?
  13. How to Iterate Over a List with Index in C# ?
  14. How to Iterate Over a List in Reverse Order in C# ?
  15. How to check if a List is Empty in C# ?
  16. How to check if a List is Not Empty in C# ?
  17. How to get Sub List in C# ?
  18. How to get the Index of Specified Element in a List in C# ?
  19. How to check if a Specific Element is present in the List in C# ?
  20. How to check if a List contains all the elements of Another List in C# ?
  21. How to count the Number of Occurrences of Specific Element in the List in C# ?
  22. How to find the Element with Maximum Number of Occurrences in a List in C# ?
  23. How to find the Element with Minimum Number of Occurrences in a List in C# ?
  24. How to Sort a List in C# ?
  25. How to Sort a List in Ascending Order in C# ?
  26. How to Sort a List in Descending Order in C# ?
  27. How to create a Two Dimensional List in C# ?
  28. How to Iterate over a Two Dimensional List in C# ?
  29. How to create a Three Dimensional List in C# ?
  30. How to Copy a List in C# ?
  31. How to deep Copy a List in C# ?
  32. How to Split a List in C# ?
  33. How to Join Lists in C# ?
  34. How to Append an Element to a List in C# ?
  35. How to Insert an Element at Specific Index in a List in C# ?
  36. How to Append a List to another List in C# ?
  37. How to Concatenate Two Lists in C# ?
  38. How to check if Two Lists are Equal in C# ?
  39. How to check if Two Lists have Same Elements (Regardless of Order) in C# ?
  40. How to Convert a List of Integers to a List of Strings in C# ?
  41. How to Convert a List of Strings to a List of Integers in C# ?
  42. How to Convert a List of Floats to a List of Strings in C# ?
  43. How to Convert a List of Strings to a List of Floats in C# ?
  44. How to Reverse a List in C# ?
  45. How to Shuffle a List in C# ?
  46. How to Slice a List in C# ?
  47. How to Slice First N Elements from a List in C# ?
  48. How to Slice Last N Elements from a List in C# ?
  49. How to Rotate Elements in a List in C# ?
  50. How to Filter Elements of a List based on a Condition in C# ?
  51. How to Remove Duplicates in a List in C# ?
  52. How to Remove Element at a Specific Index from a List in C# ?
  53. How to Remove Specific Element from a List in C# ?
  54. How to Remove Element from List based on a Condition in C# ?
  55. How to Sort a List of Strings in Dictionary Order in C# ?
  56. How to Concatenate Strings in List in C# ?
  57. How to create a List of Lists in C# ?
  58. How to create a List of Dictionaries in C# ?
  59. How to create a List of Sets in C# ?