Back to: LINQ Tutorial For Beginners and Professionals
Cast Operator in C# with Examples:
In this article, I am going to discuss Cast Operator in C# with Examples. Please read our previous article before proceeding to this article where we discussed the ToDictionary Method in C# with Examples. Like ToList, ToArray, and ToDictionary, the Cast Operator also belongs to the conversion operators category.
Cast Operator in C#:
The Cast Operator in C# is used to casts all the elements of a collection (System.Collections.IEnumerable) to a specified type and then return a new System.Collections.Generic.IEnumerable<T> collection which contains all the elements of the source sequence cast to the specified type. This method uses deferred execution. The signature of this method is given below.
Parameters:
- source: The System.Collections.IEnumerable that contains the elements to be cast to type TResult.
Type Parameters:
- TResult: The type to cast the elements of the source.
Exceptions: It will throw the System.ArgumentNullException when the source is null. It also throws System.InvalidCastException when an element in the source sequence cannot be cast to the specified type TResult.
Examples:
In the following example, the source sequence contains 3 elements and all these three elements are of type integer. So, all these elements are cast into integers.
using System.Linq; using System.Collections.Generic; using System; using System.Collections; namespace ConversionOperators { class Program { public static void Main() { ArrayList list = new ArrayList { 10, 20, 30 }; IEnumerable<int> result = list.Cast<int>(); foreach (int i in result) { Console.WriteLine(i); } Console.ReadKey(); } } }
Output: 10 20 30
Example2:
In the following example, the line “list.Add(“40”);” will throw an exception. This is because it is a string value and we are trying to convert it into an int. So, it will throw the System.InvalidCastException.
using System.Linq; using System.Collections.Generic; using System; using System.Collections; namespace ConversionOperators { class Program { public static void Main() { ArrayList list = new ArrayList { 10, 20, 30, }; //The following statement throws System.InvalidCastException list.Add("40"); IEnumerable<int> result = list.Cast<int>(); foreach (int i in result) { Console.WriteLine(i); } Console.ReadKey(); } } }
Example3:
In the following example, the source sequence is null. So, when we run the application, it will throw the System.ArgumentNullException.
using System.Linq; using System.Collections.Generic; using System; using System.Collections; namespace ConversionOperators { class Program { public static void Main() { ArrayList list = null; //Throws System.ArgumentNullException IEnumerable<int> result = list.Cast<int>(); foreach (int i in result) { Console.WriteLine(i); } Console.ReadKey(); } } }
In the next article, I am going to discuss the differences between Cast and OfType operators in C# with an example. Here, in this article, I try to explain the need and use of the Cast Operator in C# with Examples. I hope you understood the need, and use of the Cast Operator.