Monday, 21 September 2020

C# - LINQ | Grouping Operator | ToLooKUp

// C# program to divide the employees in 

// groups according to their gender

using System;

using System.Linq;

using System.Collections.Generic;

 

// Employee details

public class Employee

{

 

    public int emp_id

    {

        get;

        set;

    }

 

    public string emp_name

    {

        get;

        set;

    }

 

    public string emp_gender

    {

        get;

        set;

    }

 

    public string emp_hire_date

    {

        get;

        set;

    }

 

    public int emp_salary

    {

        get;

        set;

    }

}

 

class GFG

{

 

    // Main method

    static public void Main()

    {

        List<Employee> emp = new List<Employee>() {

 

            new Employee() {emp_id = 209,

                            emp_name = "Anjita",

                            emp_gender = "Female",

                            emp_hire_date = "12/3/2017",

                            emp_salary = 20000},

 

            new Employee() {emp_id = 210,

                            emp_name = "Soniya",

                            emp_gender = "Female",

                            emp_hire_date = "22/4/2018",

                            emp_salary = 30000},

 

            new Employee() {emp_id = 211,

                            emp_name = "Rohit",

                            emp_gender = "Male",

                            emp_hire_date = "3/5/2016",

                            emp_salary = 40000},

 

            new Employee() {emp_id = 212,

                            emp_name = "Supriya",

                            emp_gender = "Female",

                            emp_hire_date = "4/8/2017",

                            emp_salary = 40000},

 

            new Employee() {emp_id = 213,

                            emp_name = "Anil",

                            emp_gender = "Male",

                            emp_hire_date = "12/1/2016",

                            emp_salary = 40000},

 

            new Employee() {emp_id = 214,

                            emp_name = "Anju",

                            emp_gender = "Female",

                            emp_hire_date = "17/6/2015",

                            emp_salary = 50000},

        };

 

        // Query to divide the employees

        // in the groups according to 

        // their gender Using the 

        // ToLookup method

        var lookup = emp.ToLookup(e => e.emp_gender);

 

        Console.WriteLine("Gender: {0}", lookup["Male"]);

 

        foreach (var val in lookup["Male"])

        {

            // Here name is the value

            Console.WriteLine("Name By Gender Male: {0}", val.emp_name);

        }

 

        Console.WriteLine("Gender: {0}", lookup["Female"]);

 

        foreach (var val in lookup["Female"])

        {

            // Here salary is the value

            Console.WriteLine("Name By Gender Female: {0}", val.emp_name);

        }

 

        foreach (var val in lookup)

        {

            // Here salary is the key value

            Console.WriteLine("Group By Gender: {0}", val.Key);

 

            // Display name of the employees

            foreach (Employee e in val)

            {

                Console.WriteLine("Employee Name: {0}", e.emp_name);

            }

        }

    }

}


No comments:

Post a Comment