C# Program to Find Integer Numbers from the List of Objects and Sort them Using LINQ
Given a list of objects, we need to find the integer double numbers from the list of objects and sort them using LINQ. So this task can be done using the OfType() method and then the sorting of numbers can be done by using OrderBy() method. Let discuss them one by one along with their syntax:
1. OfType() method: It is used to filter the elements of an IEnumerable according to the specified type. If the given source is null then this method will throw ArgumentNullException.
Syntax:
public static System.Collections.Generic.IEnumerable<TResult> OfType<TResult>(this System.Collections.IEnumerable source);
2. OrderBy() method: This method is used to sort the elements in the collection in ascending order. If the given source is null then this method also throws ArgumentNullException.
Syntax:
public static System.Linq.IOrderedEnumerable<TSource> OrderBy<TSource,TKey(
thisSystem.Collections.Generic.IEnumerable<TSource> list, Func<TSource,TKey> Selector);
Example:
Input : ["sai", 100, "mohan", 18, 50, 200, "rajesh", 34]
Output : [18, 34, 50, 100, 200]
Input : ["raju", 345, 18.0 , "mohan", 189, 193, 30, 200, "rajesh"]
Output : [30, 189, 193, 200, 345]
Approach:
- Create an list of objects using ArrayList.
- Now using the OfType<int>() method along with OrderBy() method we will select the integer values from the list and sort the integers and then convert them into a list using ToList() method.
List<int> result = objList.OfType<int>().OrderBy(num=>num).ToList();
- Print the list using the foreach loop.
foreach (int integer in result)
{
Console.Write(integer + " ");
}
C#
using System;
using System.Linq;
using System.Collections.Generic;
class GFG{
static void Main( string [] args)
{
List< object > objList = new List< object >(){
"sai" , 100, "mohan" , 18.0, 50, 200, "rajesh" , 34 };
List< int > result = objList.OfType< int >().OrderBy(num => num).ToList();
Console.WriteLine( "The Sorted integers are : " );
foreach ( int integer in result)
{
Console.Write(integer + " " );
}
}
}
|
Output
The Sorted integers are :
34 50 100 200
Last Updated :
06 Oct, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...