Enumeration in Templates

Com o PDF4me, você pode manipular coleções de dados (iteráveis). Os métodos fornecem controle sobre os dados, como o IEnumerable em C#, que permite diversas ordenações e manipulações de dados ao gerar modelos.

Vamos analisar a lista de métodos que podem ser usados para controlar os dados -

Todos(Predicado)
employees.All(p => p.Age < 50)
Qualquer()
funcionários.Any()
Qualquer(Predicate)
employees.Any(p => p.Name == "Mary Doe")
Média(Seletor)
employees.Average(p => p.Age)
Concat(IEnumerable)
employees.Concat(otherPersons)
Contém(Object)
employees.Contains(otherPersons.First())
Contar()
funcionarios.Count()
Contar(Predicado)
emloyees.Count(p => p.Age > 30)
Distinto()
funcionarios.Distinct()
Primeiro()
employees.First()
Primeiro(Predicate)
employees.First(p => p.Age > 30)
Retorna o primeiro elemento ou o valor padrão
employees.FirstOrDefault()
FirstOrDefault(Predicate)
persons.FirstOrDefault(p => p.Age > 30)
GroupBy(Seletor)
employees.GroupBy(p => p.Age

ou

employees.GroupBy( p => new { Age = p.Age, Count = p.Children.Count() })
Último()
employees.Last()
Último(Predicado)
employees.Last(p => p.Age > 100)
Retorna o último elemento ou o valor padrão.
employees.LastOrDefault()
Último ou valor padrão
employees.LastOrDefault(p => p.Age > 100)
Max(SeletorComparável)
persons.Max(p => p.Age)
Min(ComparableSelector)
empregados.Min(p => p.Idade)
OrderBy(SeletorComparável)
funcionários.OrderBy(p => p.Idade)

ou

funcionários.OrderBy(p => p.Idade).ThenByDescending(p => p.Nome)
OrderByDescending(SeletorComparável)
employees.OrderByDescending(p => p.Age)

ou

employees.OrderByDescending(p => p.Age).ThenByDescending(p => p.Name)
Selecionar(Seletor)
funcionarios.Select(p => p.Nome)
SelectMany(SeletorDeEnumeração)
funcionários.SelectMany(p => p.Children)
Single()
employees.Single()
Single(Predicado)
employees.Single(p => p.Name == "John Smith")
SingleOrDefault() retorna o único elemento de uma sequência ou um valor padrão se nenhum elemento for encontrado.
funcionarios.SingleOrDefault()
SingleOrDefault(Predicate)
employees.SingleOrDefault(p => p.Name == "Mary Doe")
Pular(int)
funcionários.Skip(10)
PularEnquanto(Predicado)

employees.SkipWhile(p => p.Age < 35)

Soma(Seletor)

employees.Sum(p => p.Children.Count())

Tomar(int)
funcionários.Take(5)
TakeWhile(Predicate)
funcionários.TakeWhile(p => p.Age < 50)
União(IEnumerable)
employees.Union(otherPersons)
Where(Predicado)
funcionarios.Where(p => p.Age > 18)