# C1.LiveLinq.Indexing.ScannerCollection-1

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_LiveLinq_Indexing_ScannerCollection_1" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1" class="text-break">ScannerCollection&lt;T&gt; Class
</h1>
  <div class="markdown level0 summary"><p>Represents a collection of indexes or subindexes.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><span class="xref">ScannerCollection&lt;T&gt;</span></div>
      <div class="level2"><a class="xref" href="C1.LiveLinq.Indexing.IndexCollection-1.html">IndexCollection</a>&lt;T&gt;</div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.icollection-1">ICollection</a>&lt;<a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.html">IIndexScanner</a>&lt;T&gt;&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;<a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.html">IIndexScanner</a>&lt;T&gt;&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.ienumerable">IEnumerable</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.LiveLinq.Indexing.html">C1.LiveLinq.Indexing</a></h6>
  <h6><strong>Assembly</strong>: C1.LiveLinq.4.8.dll</h6>
  <h5 id="C1_LiveLinq_Indexing_ScannerCollection_1_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class ScannerCollection&lt;T&gt; : ICollection&lt;IIndexScanner&lt;T&gt;&gt;, IEnumerable&lt;IIndexScanner&lt;T&gt;&gt;, IEnumerable</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public MustInherit Class ScannerCollection(Of T)
    Implements ICollection(Of IIndexScanner(Of T)), IEnumerable(Of IIndexScanner(Of T)), IEnumerable</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td><p>The type of the elements of the indexed collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="C1_LiveLinq_Indexing_ScannerCollection_1_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p>Any indexed collection (implementing the <a class="xref" href="C1.LiveLinq.Indexing.IIndexedSource-1.html">IIndexedSource&lt;T&gt;</a> interface) has a 
collection of indexes attached to it. <b>ScannerCollection&lt;T&gt;</b> is the base class 
for the collection of indexes, <a class="xref" href="C1.LiveLinq.Indexing.IndexCollection-1.html">IndexCollection&lt;T&gt;</a></p>
<p>The <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.html">ScannerCollection&lt;T&gt;</a> class is also used in the <a class="xref" href="C1.LiveLinq.Indexing.Search.IndexQuery-1.Indexes.html#C1_LiveLinq_Indexing_Search_IndexQuery_1_Indexes">Indexes</a>
property of the <a class="xref" href="C1.LiveLinq.Indexing.Search.IndexQuery-1.html">IndexQuery&lt;T&gt;</a> class,
the result of an indexing search operation such as <a class="xref" href="C1.LiveLinq.Indexing.Index-2.Find.html#C1_LiveLinq_Indexing_Index_2_Find__1_">Index.Find</a>
and others, where it contains subindexes.</p>
</div>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Count" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Count">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Count.html#C1_LiveLinq_Indexing_ScannerCollection_1_Count">Count</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the number of indexes in the collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Add_System_Linq_Expressions_LambdaExpression_System_Boolean_System_Boolean_C1_LiveLinq_Indexing_IndexingAlgorithm_System_Globalization_CultureInfo_" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Add(System.Linq.Expressions.LambdaExpression,System.Boolean,System.Boolean,C1.LiveLinq.Indexing.IndexingAlgorithm,System.Globalization.CultureInfo)">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Add.html#C1_LiveLinq_Indexing_ScannerCollection_1_Add_System_Linq_Expressions_LambdaExpression_System_Boolean_System_Boolean_C1_LiveLinq_Indexing_IndexingAlgorithm_System_Globalization_CultureInfo_">Add(LambdaExpression, bool, bool, IndexingAlgorithm, CultureInfo)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a new index and adds it to the collection of indexes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Add``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Add.html#C1_LiveLinq_Indexing_ScannerCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___">Add&lt;TKey&gt;(Expression&lt;Func&lt;T, TKey&gt;&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a new index and adds it to the collection of indexes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___System_Boolean_" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Add``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},System.Boolean)">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Add.html#C1_LiveLinq_Indexing_ScannerCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___System_Boolean_">Add&lt;TKey&gt;(Expression&lt;Func&lt;T, TKey&gt;&gt;, bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a new index and adds it to the collection of indexes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___System_Boolean_System_Boolean_" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Add``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},System.Boolean,System.Boolean)">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Add.html#C1_LiveLinq_Indexing_ScannerCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___System_Boolean_System_Boolean_">Add&lt;TKey&gt;(Expression&lt;Func&lt;T, TKey&gt;&gt;, bool, bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a new index and adds it to the collection of indexes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___System_Boolean_System_Boolean_C1_LiveLinq_Indexing_IndexingAlgorithm_System_Globalization_CultureInfo_" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Add``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},System.Boolean,System.Boolean,C1.LiveLinq.Indexing.IndexingAlgorithm,System.Globalization.CultureInfo)">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Add.html#C1_LiveLinq_Indexing_ScannerCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___System_Boolean_System_Boolean_C1_LiveLinq_Indexing_IndexingAlgorithm_System_Globalization_CultureInfo_">Add&lt;TKey&gt;(Expression&lt;Func&lt;T, TKey&gt;&gt;, bool, bool, IndexingAlgorithm, CultureInfo)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a new index and adds it to the collection of indexes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___System_Boolean_System_Boolean_System_Globalization_CultureInfo_" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Add``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},System.Boolean,System.Boolean,System.Globalization.CultureInfo)">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Add.html#C1_LiveLinq_Indexing_ScannerCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___System_Boolean_System_Boolean_System_Globalization_CultureInfo_">Add&lt;TKey&gt;(Expression&lt;Func&lt;T, TKey&gt;&gt;, bool, bool, CultureInfo)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a new index and adds it to the collection of indexes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Clear" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Clear">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Clear.html#C1_LiveLinq_Indexing_ScannerCollection_1_Clear">Clear()</a>
        </td>
        <td class="markdown level1 summary"><p>Clears the collection of all indexes. All indexes are detached from the indexed collection and destroyed.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Contains_System_Linq_Expressions_LambdaExpression_" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Contains(System.Linq.Expressions.LambdaExpression)">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Contains.html#C1_LiveLinq_Indexing_ScannerCollection_1_Contains_System_Linq_Expressions_LambdaExpression_">Contains(LambdaExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether an index with the specified key selector exists in the collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Contains__1_System_Linq_Expressions_Expression_System_Func__0___0___" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Contains``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Contains.html#C1_LiveLinq_Indexing_ScannerCollection_1_Contains__1_System_Linq_Expressions_Expression_System_Func__0___0___">Contains&lt;TKey&gt;(Expression&lt;Func&lt;T, TKey&gt;&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether an index with the specified key selector exists in the collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Find_System_Linq_Expressions_LambdaExpression_" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Find(System.Linq.Expressions.LambdaExpression)">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Find.html#C1_LiveLinq_Indexing_ScannerCollection_1_Find_System_Linq_Expressions_LambdaExpression_">Find(LambdaExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Finds an index in the collection by its key selector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Find__1_System_Linq_Expressions_Expression_System_Func__0___0___" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Find``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Find.html#C1_LiveLinq_Indexing_ScannerCollection_1_Find__1_System_Linq_Expressions_Expression_System_Func__0___0___">Find&lt;TKey&gt;(Expression&lt;Func&lt;T, TKey&gt;&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Finds an index in the collection by its key selector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_GetEnumerator" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.GetEnumerator">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.GetEnumerator.html#C1_LiveLinq_Indexing_ScannerCollection_1_GetEnumerator">GetEnumerator()</a>
        </td>
        <td class="markdown level1 summary"><p>Returns an enumerator that iterates through the <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.html">ScannerCollection&lt;T&gt;</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Remove_System_Linq_Expressions_LambdaExpression_" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Remove(System.Linq.Expressions.LambdaExpression)">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Remove.html#C1_LiveLinq_Indexing_ScannerCollection_1_Remove_System_Linq_Expressions_LambdaExpression_">Remove(LambdaExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Removes an index from the collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_ScannerCollection_1_Remove__1_System_Linq_Expressions_Expression_System_Func__0___0___" data-uid="C1.LiveLinq.Indexing.ScannerCollection`1.Remove``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})">
          <a class="xref" href="C1.LiveLinq.Indexing.ScannerCollection-1.Remove.html#C1_LiveLinq_Indexing_ScannerCollection_1_Remove__1_System_Linq_Expressions_Expression_System_Func__0___0___">Remove&lt;TKey&gt;(Expression&lt;Func&lt;T, TKey&gt;&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Removes an index from the collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="extensionmethods">Extension Methods</h3>
  <div>
      <a class="xref" href="C1.LiveLinq.Hints.Indexed.html#C1_LiveLinq_Hints_Indexed__1___0_">Hints.Indexed&lt;T&gt;(T)</a>
  </div>
  <div>
      <a class="xref" href="C1.LiveLinq.Hints.Indexed.html#C1_LiveLinq_Hints_Indexed__1___0_C1_LiveLinq_IndexingHintAction_">Hints.Indexed&lt;T&gt;(T, IndexingHintAction)</a>
  </div>
  <div>
      <a class="xref" href="C1.LiveLinq.IndexedQueryExtensions.Join.html#C1_LiveLinq_IndexedQueryExtensions_Join__4_System_Collections_Generic_IEnumerable___0__C1_LiveLinq_Indexing_IIndexedSource___1__System_Linq_Expressions_Expression_System_Func___0___2___System_Linq_Expressions_Expression_System_Func___1___2___System_Linq_Expressions_Expression_System_Func___0___1___3___">IndexedQueryExtensions.Join&lt;TOuter, TInner, TKey, TResult&gt;(IEnumerable&lt;TOuter&gt;, IIndexedSource&lt;TInner&gt;, Expression&lt;Func&lt;TOuter, TKey&gt;&gt;, Expression&lt;Func&lt;TInner, TKey&gt;&gt;, Expression&lt;Func&lt;TOuter, TInner, TResult&gt;&gt;)</a>
  </div>

</div>
