Сегодня 6 мая, понедельник ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7272
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
coding4.net
coding4.net
Голосов: 1
Адрес блога: http://www.coding4.net/
Добавлен: 2012-06-11 20:16:46
 

Как разделить коллекцию строк на группы, используя LINQ ?

2012-07-14 22:30:00 (читать в оригинале)

Недавно я работал над интересной проблемой, которая включала разделение коллекции строк на группы. Мы имели большой набор e-mail-ов помещенную в коллекцию строк. Задача была выбирать по 10 e-mail-ов за раз и отсылать их на обработку.

Здесь некий LINQ код, который может быть полезен, если у вас похожие требования - не использовать циклы для групировки.

static void Main(string[] args)
{
string[] email = {"One@devcurry.com", "Two@devcurry.com",
"Three@devcurry.com", "Four@devcurry.com",
"Five@devcurry.com", "Six@devcurry.com",
"Seven@devcurry.com", "Eight@devcurry.com"};

var emailGrp = from i in Enumerable.Range(0, email.Length)
group email[i] by i / 3;

foreach(var mail in emailGrp)
SendEmail(string.Join(";", mail.ToArray()));


Console.ReadLine();
}


static void SendEmail(string email)
{
// Assuming that you have code for sending mails here
Console.WriteLine(email);
Console.WriteLine("--Batch Processed--");
}

Код выше использует оператор LINQ GroupBy() для выделения по 3 мыла за раз и отсылки их на обработку. Помните, что group...by выражение переводится как вызов GroupBy.

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

Тэги: (решение), linq, object, сделать

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.