Csharp/CSharp Tutorial/LINQ/Object Query

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Query a list of objects by its property

<source lang="csharp">using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.IO; using System.Reflection; using System.Linq; using System.Xml; using System.Xml.Linq; class Employee {

   int _id;
   int _idRole;
   string _lastName;
   string _firstName;
   public int ID {
       get { return _id; }
       set { _id = value; }
   }
   public int IDRole {
       get { return _idRole; }
       set { _idRole = value; }
   }
   public string LastName {
       get { return _lastName; }
       set { _lastName = value; }
   }
   public string FirstName {
       get { return _firstName; }
       set { _firstName = value; }
   }

} class Role {

   int _id;
   string role;
   public int ID {
       get { return _id; }
       set { _id = value; }
   }
   public string Role {
       get { return role; }
       set { role = value; }
   }

} class Program {

   static void Main(string[] args) {
       List<Employee> people = new List<Employee> {
              new Employee { ID = 1, IDRole = 1, LastName = "A", FirstName = "B"},
              new Employee { ID = 2, IDRole = 2, LastName = "G", FirstName = "T"}
           };
       List<Role> roles = new List<Role> {
             new Role  { ID = 1, Role = "Manager" },
             new Role  { ID = 2, Role = "Developer" }
           };
       var query = people
                   .Where(p => p.ID == 1)
                   .Select(p => new { p.FirstName, p.LastName });
   }

}</source>

Query an array of object by its property value

<source lang="csharp">using System; using System.Collections.Generic; using System.Linq; using System.Drawing; public class Book {

   public String Title { get; set; }
   public override String ToString() {
       return Title;
   }

} class Program {

   static void Main(string[] args) {
       Book[] books = {
     new Book { Title="A" },
     new Book { Title="F" },
     new Book { Title="E" } };
       var titles =
         books
           .Where(book => book.Title.Contains("A"))
           .Select(book => book.Title);
   }

}</source>

Query by Person"s FirstName

<source lang="csharp">using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Linq; using System.Reflection; class Person {

   int _id;
   int _idRole;
   string _lastName;
   string _firstName;
   public int ID {
       get { return _id; }
       set { _id = value; }
   }
   public int IDRole {
       get { return _idRole; }
       set { _idRole = value; }
   }
   public string LastName {
       get { return _lastName; }
       set { _lastName = value; }
   }
   public string FirstName {
       get { return _firstName; }
       set { _firstName = value; }
   }

} class Program {

   static void Main(string[] args) {
       List<Person> people = new List<Person> {
              new Person { ID = 1, IDRole = 1, LastName = "A", FirstName = "B"},
              new Person { ID = 2, IDRole = 2, LastName = "G", FirstName = "T"},
              new Person { ID = 3, IDRole = 2, LastName = "G", FirstName = "M"},
              new Person { ID = 4, IDRole = 3, LastName = "C", FirstName = "G"}
           };
       var query = from p in people
                   where p.FirstName == "B"
                   select p;
   }

}</source>

Select object in a List

<source lang="csharp">using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Linq; using System.Reflection; class Person {

   int _id;
   int _idRole;
   string _lastName;
   string _firstName;
   public int ID {
       get { return _id; }
       set { _id = value; }
   }
   public int IDRole {
       get { return _idRole; }
       set { _idRole = value; }
   }
   public string LastName {
       get { return _lastName; }
       set { _lastName = value; }
   }
   public string FirstName {
       get { return _firstName; }
       set { _firstName = value; }
   }

} class Program {

   static void Main(string[] args) {
       List<Person> people = new List<Person> {
              new Person { ID = 1, IDRole = 1, LastName = "A", FirstName = "B"},
              new Person { ID = 2, IDRole = 2, LastName = "G", FirstName = "T"},
              new Person { ID = 3, IDRole = 2, LastName = "G", FirstName = "M"},
              new Person { ID = 4, IDRole = 3, LastName = "C", FirstName = "G"}
           };
       var query = from p in people select p;
   }

}</source>