Программа C# для печати сотрудников, чей идентификатор больше 101, с использованием LINQ

Опубликовано: 12 Сентября, 2022

LINQ известен как Language Integrated Query и представлен в .NET 3.5. Это дает возможность языкам .NET генерировать запросы для извлечения данных из источника данных. Он устраняет несоответствие между языками программирования и базами данных, а синтаксис, используемый для создания запроса, одинаков независимо от того, какой тип источника данных используется. В этой статье мы будем отображать сведения о сотруднике, чей идентификатор больше 101, с помощью LINQ.

Пример:

Input:
List of employees:
      {{emp_id = 101, emp_name = "bobby",  emp_age = 12},
       {emp_id = 102, emp_name = "deepu",  emp_age = 15},
       {emp_id = 103, emp_name = "manoja", emp_age = 13},
       {emp_id = 104, emp_name = "saroja", emp_age = 14},
       {emp_id = 105, emp_name = "sravan", emp_age = 15},
       {emp_id = 106, emp_name = "navya",  emp_age = 12},
       {emp_id = 107, emp_name = "majnu",  emp_age = 12},
       {emp_id = 108, emp_name = "vishnu", emp_age = 12}}
Output:
      {{emp_id = 102, emp_name = "deepu",  emp_age = 15},
       {emp_id = 103, emp_name = "manoja", emp_age = 13},
       {emp_id = 104, emp_name = "saroja", emp_age = 14},
       {emp_id = 105, emp_name = "sravan", emp_age = 15},
       {emp_id = 106, emp_name = "navya",  emp_age = 12},
       {emp_id = 107, emp_name = "majnu",  emp_age = 12},
       {emp_id = 108, emp_name = "vishnu", emp_age = 12}}
      
Input:
List of employees:
      {{emp_id = 101, emp_name = "bobby",  emp_age = 12},
       {emp_id = 102, emp_name = "deepu",  emp_age = 15},
       {emp_id = 103, emp_name = "manoja", emp_age = 13}}
Output:
      {{emp_id = 102, emp_name = "deepu",  emp_age = 15},
       {emp_id = 103, emp_name = "manoja", emp_age = 13}}

Подход:

To display the employee details whose ID greater than 101 follow the following approach:

  1. Create a list of employees with three variables (Id, name and age)
  2. Iterate through the employee details by using where function and get the employee details by choosing employee id greater than 101
  3. Select the details which are greater than 101
  4. Call the ToString() method
  5. Display the employee details

Пример:

C#




// C# program to display the details of the employee
// whose ID greater than 101 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
  
public class Employee{
  
// Declare 3 variables - id,age and name
int emp_id; 
int emp_age;
string emp_name;
  
// Get the to string method that returns
// id , name and age
public override string ToString()
{
    return emp_id + " " + emp_name + " " + emp_age;
}
  
// Driver code
static void Main(string[] args)
{
      
    // Declare a list variable 
    List<Employee> emp1 = new List<Employee>()
    {
          
        // Create 8 employee details
        new Employee{ emp_id = 101, emp_name = "bobby", emp_age = 12},
        new Employee{ emp_id = 102, emp_name = "deepu", emp_age = 15},
        new Employee{ emp_id = 103, emp_name = "manoja", emp_age = 13},
        new Employee{ emp_id = 104, emp_name = "saroja", emp_age = 14},
        new Employee{ emp_id = 105, emp_name = "sravan", emp_age = 15},
        new Employee{ emp_id = 106, emp_name = "navya", emp_age = 12},
        new Employee{ emp_id = 107, emp_name = "majnu", emp_age = 12},
        new Employee{ emp_id = 108, emp_name = "vishnu", emp_age = 12},
    };
      
    // Iterate the Employee by selecting Employee
    // id greater than 101
    // Using where clause
    IEnumerable<Employee> Query = 
    from employee in emp1 where employee.emp_id > 101 select employee;
     
    // Display employee details
    Console.WriteLine("ID  Name  Age");
    Console.WriteLine("+++++++++++++");
    foreach (Employee e in Query)
    {
          
        // Call the to string method
        Console.WriteLine(e.ToString());
    }
}
}

Выход:

ID  Name  Age
+++++++++++++
102 deepu 15
103 manoja 13
104 saroja 14
105 sravan 15
106 navya 12
107 majnu 12
108 vishnu 12