Introduction
Collection expressions is a new feature introduced in C# 12.0. Lot of us know about collections and very familiar with generic collections also.
We know that in collections, lot of flavours like arrays, lists.. etc. Till C# 11.0 different collections used different syntaxes for initialization.Let us go through the old syntaxes which will be revision for us. In this article, will demo both arrays and list.
// old way of initialization
int[] array1 = new int[] { 1, 2, 3, };
int[] array2 = new [] {1, 2, 3, };
int[] array3 = { 1, 2, 3, };
In above code, initialized arrays in different ways till C# 11.0. Even in C# 12.0 also we can follow same way of initialization. But in new version, introduced new way of initialization
// new way in collection expressions
int[] array4 = [1, 2, 3,4];
In the same way will have look in lists initilization in older way.
List<int> myList1 = new List() { 10, 11, 12 };
List<int> myList2 = new() { 10, 11, 12 };
For Lists also we can use same syntax in C# 12.0, as like as array initialization.
List<int> myList3 = [ 10, 11, 12 ];
Add on to new syntaxes, we can also use spread operator widely, while working with collections. Spread operator will help us to append new collection to existing collection.
Or we can also add more values to the collection with simple syntax
List<int> myList2 = [..myList];
List<int> myList2 = [..myList, 20,30];
List<int> myList2 = [..myList, ..array4];
List<int> myList2 = [300, ..myList, 200, ..array, 100];
Let me explain above lines, one list is added two more elements with spread operator Append array values, with list values and assign to target list Add elements, append lists and arrays in between the lists and assign those to single target list.
In this way we can achieve multiple collection initialization using same syntax i.e. collection expressions.
//iterate through arrays
for (int i = 0; i < array4. Length; i++)
{
Console.WriteLine(array4[i]);
}
//iterate through lists
foreach(var ele in myList2)
{
Console.WriteLine(ele);
}
In the above manner, we can iterate through lists and arrays using our regular for and foreach loops.
Comments
Post a Comment