Provides a set of static (extension) methods for querying objects that implement IIndexedSource<(Of <(<'T>)>)>.

Namespace:  C1.LiveLinq
Assembly:  C1.LiveLinq (in C1.LiveLinq.dll)

Syntax

C#
public static class IndexedQueryExtensions
Visual Basic
<ExtensionAttribute> _
Public NotInheritable Class IndexedQueryExtensions

Remarks

The methods in this class provide an implementation of the LINQ query operators for querying data sources that implement IIndexedSource<(Of <(<'T>)>)>. Those data sources include LiveLinq to Objects, LiveLinq to DataSet and LiveLinq to XML, see How to query collections with LiveLinq.

These implementations of query operators use indexing and other optimization techniques to speed up query execution.

Not all standard LINQ query operators are present here, but it does not mean that they cannot be used in the same query. For the operators that are not present here, standard LINQ implementations are used, because they don't require or don't allow optimization.

Note: Live views are also LiveLinq data sources, but they have their own implementations of query operators defined in the View<(Of <(<'T>)>)> class. Live view implementations are heavier, require more resources, so it is not recommended to use live view implementations in cases where you don't need live view functionality (for example, for querying read-only collections), see Live View Performance. If you have a live view, but want to query it using operators from IndexedQueryExtensions instead of View<(Of <(<'T>)>)>, use AsIndexed<(Of <<'(T>)>>)(IIndexedSource<(Of <<'(T>)>>)) to "downgrade" the live view to an IIndexedSource<(Of <(<'T>)>)>.

Inheritance Hierarchy

System..::..Object
  C1.LiveLinq..::..IndexedQueryExtensions

See Also