C# LINQ
$count++; if ($count == 2) { include "../sharemediasubfolder.php"; } ?>
LINQ signifie Language Integrated Query.
LINQ introduit une construction de langage de première classe, qui peut être utilisée pour interroger des bases de données SQL, des listes de programmes, des documents XML, etc.
using System;
using System.Linq;
using System.Collections.Generic;
namespace CosmicLinq
{
class LINQTutorial
{
static void Main()
{
int[] numbers = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };
IEnumerable<int> greatedThan30 =
from number in numbers
where number > 30
select number;
foreach ( int number in greatedThan30)
{
Console.WriteLine(number);
}
}
}
}
Dans l'exemple ci-dessus, nous avons créé un tableau de nombres.Ensuite, nous avons utilisé une requête LINQ pour sélectionner uniquement les nombres dont la valeur est supérieure à 30.
Enfin, nous avons utilisé une instruction for pour parcourir les nombres.
Sortir:
40
50
60
70
80
90
100
namespace CosmicLinq
{
class Employee
{
private string employeeName;
private string employeeDepartment;
public string EmployeeName
{
get { return employeeName; }
set { this.employeeName = value; }
}
public string EmployeeDepartment
{
get { return employeeDepartment; }
set { this.employeeDepartment = value; }
}
}
class LINQTutorial
{
static void Main()
{
IList<Employee> employeeList = new List<Employee>()
{
new Employee() {EmployeeName = "Mugambo", EmployeeDepartment = "Finance"},
new Employee() {EmployeeName = "Rambo", EmployeeDepartment = "HR"},
new Employee() {EmployeeName = "Darth", EmployeeDepartment = "Finance"},
new Employee() {EmployeeName = "Vader", EmployeeDepartment = "HR"}
};
var financeEmployees = from e in employeeList
where e.EmployeeDepartment == "Finance"
select e;
foreach (Employee financeEmployee in financeEmployees)
{
Console.WriteLine(financeEmployee.EmployeeName);
}
}
}
}
Dans l'exemple ci-dessus, nous avons créé une classe Employee avec les propriétés EmployeeName et EmployeeDepartment.Nous avons ensuite créé une liste d'employés dans deux départements, Finance et RH.
Enfin, nous avons utilisé une requête LINQ pour répertorier uniquement les employés du service financier.
Sortir:
Mugambo
Darth
Au lieu d'écrire un foreach, nous pouvons forcer une requête LINQ à renvoyer un tableau ou une liste à l'aide des méthodes ToArray ou ToList.
class LINQTutorial
{
static void Main()
{
IList<Employee> employeeList = new List<Employee>()
{
new Employee() {EmployeeName = "Mugambo", EmployeeDepartment = "Finance"},
new Employee() {EmployeeName = "Rambo", EmployeeDepartment = "HR"},
new Employee() {EmployeeName = "Darth", EmployeeDepartment = "Finance"},
new Employee() {EmployeeName = "Vader", EmployeeDepartment = "HR"}
};
var financeEmployees = (from e in employeeList
where e.EmployeeDepartment == "Finance"
select e).ToArray();
Console.WriteLine(financeEmployees);
}
}
Dans l'exemple ci-dessus, nous avons vu le retour d'un tableau à partir d'une requête LINQ en utilisant l'appel de la méthode ToArray.
Sortir:
CosmicLinq.Employee[]