Csharp/C Sharp/LINQ/Object Query — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 14:38, 26 мая 2010
Содержание
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>