Enumeration Extension Methods

The Encodian population engine provides features to perform common manipulations on a collection (Iterable). These features mimic the extension methods provided by IEnumerable<T>, thus,  you can group, sort, and perform other sequential data manipulations in template expressions in a common way.

Extension Method Example
All(Predicate)
persons.All(p => p.Age < 50)
Any()
Persons.Any()
Any(Predicate)
persons.Any(p => p.Name == "John Smith")
Average(Selector)
persons.Average(p => p.Age)
Concat(IEnumerable)
persons.Concat(otherPersons)
Contains(Object)
persons.Contains(otherPersons.First())
Count()
persons.Count()
Count(Predicate)
persons.Count(p => p.Age > 30)
Distinct()
persons.Distinct()
First()
persons.First()
First(Predicate)
persons.First(p => p.Age > 30)
FirstOrDefault()
persons.FirstOrDefault()
FirstOrDefault(Predicate)
persons.FirstOrDefault(p => p.Age > 30)
GroupBy(Selector)
persons.GroupBy(p => p.Age)

or

persons.GroupBy( p => new { Age = p.Age, Count = p.Children.Count() })
Last()
persons.Last()
Last(Predicate)
persons.Last(p => p.Age > 100)
LastOrDefault()
persons.LastOrDefault()
LastOrDefault(Predicate)
persons.LastOrDefault(p => p.Age > 100)
Max(ComparableSelector)
persons.Max(p => p.Age)
Min(ComparableSelector)
persons.Min(p => p.Age)
OrderBy(ComparableSelector)
persons.OrderBy(p => p.Age)

Or

persons.OrderBy(p => p.Age).ThenByDescending(p => p.Name)
OrderByDescending(ComparableSelector)
persons.OrderByDescending(p => p.Age)

Or

persons.OrderByDescending(p => p.Age).ThenByDescending(p => p.Name)
Select(Selector)
persons.Select(p => p.Name)
SelectMany(EnumerationSelector)
persons.SelectMany(p => p.Children)
Single()
persons.Single()
Single(Predicate)
persons.Single(p => p.Name == "John Smith")
SingleOrDefault()
persons.SingleOrDefault()
SingleOrDefault(Predicate)
persons.SingleOrDefault(p => p.Name == "John Smith")
Skip(int)
persons.Skip(10)
SkipWhile(Predicate)
persons.SkipWhile(p => p.Age < 21)
Sum(Selector)
persons.Sum(p => p.Children.Count())
Take(int)
persons.Take(5)
TakeWhile(Predicate)
persons.TakeWhile(p => p.Age < 50)
Union(IEnumerable)
persons.Union(otherPersons)
Where(Predicate)
persons.Where(p => p.Age > 18)

 

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.
Powered by Zendesk