public class InvestorMailing
{
public string To { get; set; }
public IEnumerable<string> Attachments { get; set; }
public int AttachmentCount { get; set; }
public long AttachmentSize { get; set; }
}
У меня есть IList<InvestorMailing> mailingList
. если размер вложения больше x, тогда мне нужно разделить мой объект на куски. есть ли простой способ linq-y сделать это?Как разбить объект на куски на основе какого-либо свойства?
Отредактировано:
это, как я буду генерировать мои рассылки:
var groupedMailings = mailingList.GroupBy(g => g.GroupBy);
var investorMailings = groupedMailings.Select(
g => new DistinctInvestorMailing
{
Id = g.Select(x => x.Id).FirstOrDefault(),
To = g.Key.Trim(),
From = g.Select(x => x.From).FirstOrDefault(),
FromName = g.Select(x => x.FromName).FirstOrDefault(),
Bcc = g.Select(x => x.Bcc).FirstOrDefault(),
DeliveryCode = g.Select(x => x.DeliveryCode).FirstOrDefault(),
Subject = g.Select(x => x.Subject).FirstOrDefault(),
Body = g.Select(x => x.Body).FirstOrDefault(),
CommentsOnStatus = g.Select(x => x.CommentsOnStatus).FirstOrDefault(),
Attachments = g.Select(x => x.AttachmentPath),
AttachmentCount = g.Select(x => x.AttachmentPath).Count(),
AttachmentSize = g.Sum(x => x.AttachmentSize),
MailType = g.Select(x => x.MessageType).FirstOrDefault()
}
).ToList();
Что вы хотите разбить? Список InvestorMailings или Приложений индивидуального инвестора? – dtb
InventorMailing - это объект, каждый из которых имеет собственное свойство AttachmentCount. Когда вы хотите разбить? Вы хотите разбить, даже если один элемент в списке больше, чем x? – azamsharp
Почти так же, как http://stackoverflow.com/questions/2678008/how-to-split-linq-grouping –