ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
От: peerAt
11. сентября 2011 20:33

Меня много спрашивали в форумах по поводу LINQ. Одним из самых частых вопросов был: как отсортировать данные. Пользователь имеет ArrayList сотрудников и хочет отсортировать их по фамилии. Я сказал используй LINQ ! Это так же просто как следующий запрос:

C#

ArrayList names = new ArrayList(5);
names.Add("Tony Abbot");
names.Add("Tony A Farrow");
names.Add("Tony Charles");
names.Add("Tony Small");
names.Add("Bob Brown");

var query = from p in names.Cast<string>()
let count = p.Split(' ').Length - 1
let surname = p.Split(' ')[count]
let givenname = p.Split(' ')[0]
orderby surname ascending
select new
{
GivenName = givenname,
Surname = surname
};

foreach (var item in query)
{
// item.GivenName
// item.Surname
}

VB.NET

Dim names As New ArrayList(5)
names.Add("Tony Abbot")
names.Add("Tony A Farrow")
names.Add("Tony Charles")
names.Add("Tony Small")
names.Add("Bob Brown")

Dim query = _
From p In names.Cast(Of String)() _
Let count = p.Split(" "c).Length - 1 _
Let surname = p.Split(" "c)(count) _
Let givenname = p.Split(" "c)(0) _
Order By surname Ascending _
Select New
givenname, Surname = surname
GivenName = givenname, Surname

For Each item In query
' item.GivenName
' item.Surname
Next item



Это перевод. Оригинал здесь.

Похожие записи


Как отсортировать по длине, потом по имени на LINQ ?
Когда вы работаете со строковыми массивами, общим требованием будет вывести результаты в отсортированном виде. Здесь показан запрос, который позволит отсортировать вам результаты по длинне, потом по имени, используя LINQ. static void Main(string[] args){ string[] indiaCitiesVisited = { "Delhi", "Jodhpur", "Mumbai", "Pune", "Agra", "Shimla", "B...

Как найти наибольшее значение в каждой группе с использованием LINQ ?
В этом посте, я покажу как вытащить максимальные значения в каждой группе используя LINQ. Вначале рассмотрим класс Employees. C#class Employees{ public int EmpId { get; set; } public int DeptId { get; set; } public int Salary { get; set; }} Допустим вам нужно найти наибольшую зарплату сотрудника в каждом отделе. Дальше идет соответствующий LINQ запрос...

Как создать список (List) только для чтения с использованием LINQ ?
Нужно ли было вам когда нибудь создавать List только для чтения ? Как вы вышли из ситуации ? LINQ предлагает очень простой способ выйти из такой ситуации - метод AsReadOnly(). Дальше идет пример того как это можно сделать:C# List<int> integ = new List<int>(){100,200,300,400,500}; IList<int> noModif = integ.AsReadOnly(); foreach (var i ...

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий