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

Поиск

Категории

Облако тегов

acer ado.net amd asp.net c sharp c# cms css exceptions google html ipad iphone it бизнес javascript jquery linq microsoft mysql net nokia nokia lumia samsung seo silverlight sql surface tsql windows 8 windows blue windows phone windows rt xna безопасность библиотека вопросы на собеседовании интересные проекты интернет интернет магазин исключения книга книги компьютерная безопасность компьютерные игры контролы курсы по программированию логированние исключений мобильные приложения монетизация сайтов наушники новости новости it новости microsoft новости интернет новости технологий ноутбук ноутбуки обработка исключений оптимизация острова периферия планшет планшеты поддержка сайтов поисковое продвижение программы продвижение продвижение сайта продвижение сайтов рабство разработка игр разработка сайтов раскрутка сайта рекламные технологии смартфон смартфоны собеседование создание сайтов средства разработки туризм фриланс хостинг яндекс
  << Предыдущий пост       Следующий пост >>  
От: 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...

Как создать список (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 ...

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

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




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


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