Version 2.1.0.0

LinqExtensions class

Namespace: Sirenix.Utilities
Assembly: Sirenix.Utilities
public static class LinqExtensions
Various LinQ extensions.
Inheritance
  • System.Object
  • LinqExtensions

Methods

AddRange<T>(HashSet<T>, IEnumerable<T>)
Adds a collection to a hashset.
public static void AddRange<T>(this HashSet<T> hashSet, IEnumerable<T> range)
Parameters
System.Collections.Generic.HashSet<T> hashSet

The hashset.

System.Collections.Generic.IEnumerable<T> range

The collection.

Type Parameters
T

AddRange<T>(IList<T>, IEnumerable<T>)
Adds the elements of the specified collection to the end of the IList<T>.
public static void AddRange<T>(this IList<T> list, IEnumerable<T> collection)
Parameters
System.Collections.Generic.IList<T> list

System.Collections.Generic.IEnumerable<T> collection

Type Parameters
T

AppendIf<T>(IEnumerable<T>, Boolean, T)
Add an item to the end of a collection if a condition is met.
public static IEnumerable<T> AppendIf<T>(this IEnumerable<T> source, bool condition, T append)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Boolean condition

The condition.

T append

The item to append.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

AppendIf<T>(IEnumerable<T>, Boolean, IEnumerable<T>)
Add a collection to the end of another collection if a condition is met.
public static IEnumerable<T> AppendIf<T>(this IEnumerable<T> source, bool condition, IEnumerable<T> append)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Boolean condition

The condition.

System.Collections.Generic.IEnumerable<T> append

The collection to append.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

AppendIf<T>(IEnumerable<T>, Boolean, Func<T>)
Add an item to the end of a collection if a condition is met.
public static IEnumerable<T> AppendIf<T>(this IEnumerable<T> source, bool condition, Func<T> append)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Boolean condition

The condition.

System.Func<T> append

Func to create the item to append.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

AppendIf<T>(IEnumerable<T>, Func<Boolean>, T)
Add an item to the end of a collection if a condition is met.
public static IEnumerable<T> AppendIf<T>(this IEnumerable<T> source, Func<bool> condition, T append)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Func<System.Boolean> condition

The condition.

T append

The item to append.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

AppendIf<T>(IEnumerable<T>, Func<Boolean>, IEnumerable<T>)
Add a collection to the end of another collection if a condition is met.
public static IEnumerable<T> AppendIf<T>(this IEnumerable<T> source, Func<bool> condition, IEnumerable<T> append)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Func<System.Boolean> condition

The condition.

System.Collections.Generic.IEnumerable<T> append

The collection to append.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

AppendIf<T>(IEnumerable<T>, Func<Boolean>, Func<T>)
Add an item to the end of a collection if a condition is met.
public static IEnumerable<T> AppendIf<T>(this IEnumerable<T> source, Func<bool> condition, Func<T> append)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Func<System.Boolean> condition

The condition.

System.Func<T> append

Func to create the item to append.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

AppendWith<T>(IEnumerable<T>, T)
Add an item to the end of a collection.
public static IEnumerable<T> AppendWith<T>(this IEnumerable<T> source, T append)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

T append

The item to append.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

AppendWith<T>(IEnumerable<T>, IEnumerable<T>)
Add a collection to the end of another collection.
public static IEnumerable<T> AppendWith<T>(this IEnumerable<T> source, IEnumerable<T> append)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Collections.Generic.IEnumerable<T> append

The collection to append.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

AppendWith<T>(IEnumerable<T>, Func<T>)
Add an item to the end of a collection.
public static IEnumerable<T> AppendWith<T>(this IEnumerable<T> source, Func<T> append)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Func<T> append

Func to create the item to append.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

Convert<T>(IEnumerable, Func<Object, T>)
Convert each item in the collection.
public static IEnumerable<T> Convert<T>(this IEnumerable source, Func<object, T> converter)
Parameters
System.Collections.IEnumerable source

The collection.

System.Func<System.Object, T> converter

Func to convert the items.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

Examine<T>(IEnumerable<T>, Action<T>)
Calls an action on each item before yielding them.
public static IEnumerable<T> Examine<T>(this IEnumerable<T> source, Action<T> action)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Action<T> action

The action to call for each item.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

FilterCast<T>(IEnumerable)
Returns and casts only the items of type T.
public static IEnumerable<T> FilterCast<T>(this IEnumerable source)
Parameters
System.Collections.IEnumerable source

The collection.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

ForEach<T>(IEnumerable<T>, Action<T, Int32>)
Perform an action on each item.
public static IEnumerable<T> ForEach<T>(this IEnumerable<T> source, Action<T, int> action)
Parameters
System.Collections.Generic.IEnumerable<T> source

The source.

System.Action<T, System.Int32> action

The action to perform.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

ForEach<T>(IEnumerable<T>, Action<T>)
Perform an action on each item.
public static IEnumerable<T> ForEach<T>(this IEnumerable<T> source, Action<T> action)
Parameters
System.Collections.Generic.IEnumerable<T> source

The source.

System.Action<T> action

The action to perform.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

IsNullOrEmpty<T>(IList<T>)
Returns true if the list is either null or empty. Otherwise false.
public static bool IsNullOrEmpty<T>(this IList<T> list)
Parameters
System.Collections.Generic.IList<T> list

The list.

Returns
System.Boolean

Type Parameters
T

Populate<T>(IList<T>, T)
Sets all items in the list to the given value.
public static void Populate<T>(this IList<T> list, T item)
Parameters
System.Collections.Generic.IList<T> list

The list.

T item

The value.

Type Parameters
T

Prepend<T>(IEnumerable<T>, T)
Add an item to the beginning of a collection.
public static IEnumerable<T> Prepend<T>(this IEnumerable<T> source, T prepend)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

T prepend

The item to prepend.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

Prepend<T>(IEnumerable<T>, IEnumerable<T>)
Add a collection to the beginning of another collection.
public static IEnumerable<T> Prepend<T>(this IEnumerable<T> source, IEnumerable<T> prepend)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Collections.Generic.IEnumerable<T> prepend

The collection to prepend.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

Prepend<T>(IEnumerable<T>, Func<T>)
Add an item to the beginning of a collection.
public static IEnumerable<T> Prepend<T>(this IEnumerable<T> source, Func<T> prepend)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Func<T> prepend

Func to create the item to prepend.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

PrependIf<T>(IEnumerable<T>, Boolean, T)
Add an item to the beginning of another collection, if a condition is met.
public static IEnumerable<T> PrependIf<T>(this IEnumerable<T> source, bool condition, T prepend)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Boolean condition

The condition.

T prepend

The item to prepend.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

PrependIf<T>(IEnumerable<T>, Boolean, IEnumerable<T>)
Add a collection to the beginning of another collection, if a condition is met.
public static IEnumerable<T> PrependIf<T>(this IEnumerable<T> source, bool condition, IEnumerable<T> prepend)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Boolean condition

The condition.

System.Collections.Generic.IEnumerable<T> prepend

The collection to prepend.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

PrependIf<T>(IEnumerable<T>, Boolean, Func<T>)
Add an item to the beginning of another collection, if a condition is met.
public static IEnumerable<T> PrependIf<T>(this IEnumerable<T> source, bool condition, Func<T> prepend)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Boolean condition

The condition.

System.Func<T> prepend

Func to create the item to prepend.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

PrependIf<T>(IEnumerable<T>, Func<Boolean>, T)
Add an item to the beginning of another collection, if a condition is met.
public static IEnumerable<T> PrependIf<T>(this IEnumerable<T> source, Func<bool> condition, T prepend)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Func<System.Boolean> condition

The condition.

T prepend

The item to prepend.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

PrependIf<T>(IEnumerable<T>, Func<Boolean>, IEnumerable<T>)
Add a collection to the beginning of another collection, if a condition is met.
public static IEnumerable<T> PrependIf<T>(this IEnumerable<T> source, Func<bool> condition, IEnumerable<T> prepend)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Func<System.Boolean> condition

The condition.

System.Collections.Generic.IEnumerable<T> prepend

The collection to prepend.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

PrependIf<T>(IEnumerable<T>, Func<Boolean>, Func<T>)
Add an item to the beginning of another collection, if a condition is met.
public static IEnumerable<T> PrependIf<T>(this IEnumerable<T> source, Func<bool> condition, Func<T> prepend)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Func<System.Boolean> condition

The condition.

System.Func<T> prepend

Func to create the item to prepend.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

PrependIf<T>(IEnumerable<T>, Func<IEnumerable<T>, Boolean>, T)
Add an item to the beginning of another collection, if a condition is met.
public static IEnumerable<T> PrependIf<T>(this IEnumerable<T> source, Func<IEnumerable<T>, bool> condition, T prepend)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Func<System.Collections.Generic.IEnumerable<T>, System.Boolean> condition

The condition.

T prepend

The item to prepend.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

PrependIf<T>(IEnumerable<T>, Func<IEnumerable<T>, Boolean>, IEnumerable<T>)
Add a collection to the beginning of another collection, if a condition is met.
public static IEnumerable<T> PrependIf<T>(this IEnumerable<T> source, Func<IEnumerable<T>, bool> condition, IEnumerable<T> prepend)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Func<System.Collections.Generic.IEnumerable<T>, System.Boolean> condition

The condition.

System.Collections.Generic.IEnumerable<T> prepend

The collection to prepend.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

PrependIf<T>(IEnumerable<T>, Func<IEnumerable<T>, Boolean>, Func<T>)
Add an item to the beginning of another collection, if a condition is met.
public static IEnumerable<T> PrependIf<T>(this IEnumerable<T> source, Func<IEnumerable<T>, bool> condition, Func<T> prepend)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

System.Func<System.Collections.Generic.IEnumerable<T>, System.Boolean> condition

The condition.

System.Func<T> prepend

Func to create the item to prepend.

Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

Sort<T>(IList<T>)
Sorts an IList
public static void Sort<T>(this IList<T> list)
Parameters
System.Collections.Generic.IList<T> list

Type Parameters
T

Sort<T>(IList<T>, Comparison<T>)
Sorts an IList
public static void Sort<T>(this IList<T> list, Comparison<T> comparison)
Parameters
System.Collections.Generic.IList<T> list

System.Comparison<T> comparison

Type Parameters
T

ToHashSet<T>(IEnumerable<T>)
Convert a colletion to a HashSet.
public static HashSet<T> ToHashSet<T>(this IEnumerable<T> source)
Parameters
System.Collections.Generic.IEnumerable<T> source

Returns
System.Collections.Generic.HashSet<T>

Type Parameters
T

ToHashSet<T>(IEnumerable<T>, IEqualityComparer<T>)
Convert a colletion to a HashSet.
public static HashSet<T> ToHashSet<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer)
Parameters
System.Collections.Generic.IEnumerable<T> source

System.Collections.Generic.IEqualityComparer<T> comparer

Returns
System.Collections.Generic.HashSet<T>

Type Parameters
T

ToImmutableList<T>(IEnumerable<T>)
Convert a collection to an immutable list.
public static ImmutableList<T> ToImmutableList<T>(this IEnumerable<T> source)
Parameters
System.Collections.Generic.IEnumerable<T> source

The collection.

Returns
ImmutableList<T>

Type Parameters
T

This website is brand new and built with the Odin 2.1 beta in mind. This means you might discover some features such as attribute expressions that are only available in the beta.

You can download the 2.1 beta from here and read the patch-notes here.