# C1.LiveLinq.Indexing.Search.IIndexScanner-1

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_LiveLinq_Indexing_Search_IIndexScanner_1" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1" class="text-break">IIndexScanner&lt;T&gt; Interface
</h1>
  <div class="markdown level0 summary"><p>Represents an index or a subindex in its capacity of scanning through data. Provides methods for searching data items.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.LiveLinq.Indexing.Search.html">C1.LiveLinq.Indexing.Search</a></h6>
  <h6><strong>Assembly</strong>: C1.LiveLinq.4.8.dll</h6>
  <h5 id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface IIndexScanner&lt;T&gt;</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Interface IIndexScanner(Of T)</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_Search_IIndexScanner_1_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p>This interface is implemented by <a class="xref" href="C1.LiveLinq.Indexing.Index-1.html">Index&lt;T&gt;</a>. It is also used by subindexes, but there it is not directly implemented by 
<a class="xref" href="C1.LiveLinq.Indexing.Subindex-1.html">Subindex&lt;T&gt;</a>, but rather returned by the <a class="xref" href="C1.LiveLinq.Indexing.Search.IndexQuery-1.Subindex.html#C1_LiveLinq_Indexing_Search_IndexQuery_1_Subindex_C1_LiveLinq_Indexing_Subindex__0__">IndexQuery&lt;T&gt;.Subindex</a> method because it depends on 
the item found by an index or a subindex that is the parent of that subindex.</p>
<p><a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.html">IIndexScanner&lt;T&gt;</a> has a typed key counterpart <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-2.html">IIndexScanner&lt;T, TKey&gt;</a>
that is used with typed key classes <a class="xref" href="C1.LiveLinq.Indexing.Index-2.html">Index&lt;T, TKey&gt;</a> and <a class="xref" href="C1.LiveLinq.Indexing.Subindex-2.html">Subindex&lt;T, TKey&gt;</a></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_Search_IIndexScanner_1_Definition" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.Definition">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.Definition.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_Definition">Definition</a>
        </td>
        <td class="markdown level1 summary"><p>Gets an <a class="xref" href="C1.LiveLinq.Indexing.Index-1.html">Index&lt;T&gt;</a> or a <a class="xref" href="C1.LiveLinq.Indexing.Subindex-1.html">Subindex&lt;T&gt;</a> definition on which the scanner is based.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_KeyCount" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.KeyCount">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.KeyCount.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_KeyCount">KeyCount</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the number of distinct key values in all items of this collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_ParentScanner" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.ParentScanner">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.ParentScanner.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_ParentScanner">ParentScanner</a>
        </td>
        <td class="markdown level1 summary"><p>Gets an index or a subindex scanner that is the parent of a subindex scanner.</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_Search_IIndexScanner_1_All_C1_LiveLinq_Order_" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.All(C1.LiveLinq.Order)">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.All.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_All_C1_LiveLinq_Order_">All(Order)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets all items in the indexed collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_ContainsKey_System_Object_" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.ContainsKey(System.Object)">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.ContainsKey.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_ContainsKey_System_Object_">ContainsKey(object)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a value that indicates whether the collection contains an item with the given key value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_Find_System_Object_" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.Find(System.Object)">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.Find.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_Find_System_Object_">Find(object)</a>
        </td>
        <td class="markdown level1 summary"><p>Finds items with the specified key value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_FindBetween_System_Object_System_Boolean_System_Object_System_Boolean_C1_LiveLinq_Order_" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.FindBetween(System.Object,System.Boolean,System.Object,System.Boolean,C1.LiveLinq.Order)">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.FindBetween.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_FindBetween_System_Object_System_Boolean_System_Object_System_Boolean_C1_LiveLinq_Order_">FindBetween(object, bool, object, bool, Order)</a>
        </td>
        <td class="markdown level1 summary"><p>Finds items with key values in the interval between the specified values.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_FindGreater_System_Object_System_Boolean_C1_LiveLinq_Order_" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.FindGreater(System.Object,System.Boolean,C1.LiveLinq.Order)">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.FindGreater.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_FindGreater_System_Object_System_Boolean_C1_LiveLinq_Order_">FindGreater(object, bool, Order)</a>
        </td>
        <td class="markdown level1 summary"><p>Finds items with keys greater than the specified value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_FindKeys_System_Collections_IEnumerable_C1_LiveLinq_Order_" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.FindKeys(System.Collections.IEnumerable,C1.LiveLinq.Order)">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.FindKeys.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_FindKeys_System_Collections_IEnumerable_C1_LiveLinq_Order_">FindKeys(IEnumerable, Order)</a>
        </td>
        <td class="markdown level1 summary"><p>Finds items containing any of the specified key values.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_FindLess_System_Object_System_Boolean_C1_LiveLinq_Order_" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.FindLess(System.Object,System.Boolean,C1.LiveLinq.Order)">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.FindLess.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_FindLess_System_Object_System_Boolean_C1_LiveLinq_Order_">FindLess(object, bool, Order)</a>
        </td>
        <td class="markdown level1 summary"><p>Finds items with keys less than the specified value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_FindStartingWith_System_String_System_Func_System_String_System_Boolean__C1_LiveLinq_Order_" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.FindStartingWith(System.String,System.Func{System.String,System.Boolean},C1.LiveLinq.Order)">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.FindStartingWith.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_FindStartingWith_System_String_System_Func_System_String_System_Boolean__C1_LiveLinq_Order_">FindStartingWith(string, Func&lt;string, bool&gt;, Order)</a>
        </td>
        <td class="markdown level1 summary"><p>Finds items with string key values starting with the specified string.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_GroupJoin__2_C1_LiveLinq_Indexing_Search_IIndexScanner___0__System_Func__0_System_Collections_Generic_IEnumerable___0____1__" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.GroupJoin``2(C1.LiveLinq.Indexing.Search.IIndexScanner{``0},System.Func{`0,System.Collections.Generic.IEnumerable{``0},``1})">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.GroupJoin.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_GroupJoin__2_C1_LiveLinq_Indexing_Search_IIndexScanner___0__System_Func__0_System_Collections_Generic_IEnumerable___0____1__">GroupJoin&lt;T2, TResult&gt;(IIndexScanner&lt;T2&gt;, Func&lt;T, IEnumerable&lt;T2&gt;, TResult&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Correlates the items of this indexed collection with the items of another indexed collection and groups the results by the item of this collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_GroupJoin__2_System_Collections_Generic_IEnumerable___0__System_Func___0_System_Object__System_Func_System_Collections_Generic_IEnumerable__0____0___1__" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.GroupJoin``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Object},System.Func{System.Collections.Generic.IEnumerable{`0},``0,``1})">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.GroupJoin.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_GroupJoin__2_System_Collections_Generic_IEnumerable___0__System_Func___0_System_Object__System_Func_System_Collections_Generic_IEnumerable__0____0___1__">GroupJoin&lt;T2, TResult&gt;(IEnumerable&lt;T2&gt;, Func&lt;T2, object&gt;, Func&lt;IEnumerable&lt;T&gt;, T2, TResult&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Correlates the items of this indexed collection with the items of another sequence and groups the results by the item of the second sequence.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_GroupJoin__2_System_Collections_Generic_IEnumerable___0__System_Func___0_System_Object__System_Func__0_System_Collections_Generic_IEnumerable___0____1__" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.GroupJoin``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Object},System.Func{`0,System.Collections.Generic.IEnumerable{``0},``1})">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.GroupJoin.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_GroupJoin__2_System_Collections_Generic_IEnumerable___0__System_Func___0_System_Object__System_Func__0_System_Collections_Generic_IEnumerable___0____1__">GroupJoin&lt;T2, TResult&gt;(IEnumerable&lt;T2&gt;, Func&lt;T2, object&gt;, Func&lt;T, IEnumerable&lt;T2&gt;, TResult&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Correlates the items of this indexed collection with the items of another sequence and groups the results by the item of this collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_Join__2_C1_LiveLinq_Indexing_Search_IIndexScanner___0__System_Func__0___0___1__C1_LiveLinq_Indexing_Search_JoinOperator_" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.Join``2(C1.LiveLinq.Indexing.Search.IIndexScanner{``0},System.Func{`0,``0,``1},C1.LiveLinq.Indexing.Search.JoinOperator)">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.Join.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_Join__2_C1_LiveLinq_Indexing_Search_IIndexScanner___0__System_Func__0___0___1__C1_LiveLinq_Indexing_Search_JoinOperator_">Join&lt;T2, TResult&gt;(IIndexScanner&lt;T2&gt;, Func&lt;T, T2, TResult&gt;, JoinOperator)</a>
        </td>
        <td class="markdown level1 summary"><p>Correlates the items of this indexed collection with the items of another indexed collection and returns the combined items with matching keys.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_Search_IIndexScanner_1_Join__2_System_Collections_Generic_IEnumerable___0__System_Func___0_System_Object__System_Func__0___0___1__C1_LiveLinq_Indexing_Search_JoinOperator_" data-uid="C1.LiveLinq.Indexing.Search.IIndexScanner`1.Join``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Object},System.Func{`0,``0,``1},C1.LiveLinq.Indexing.Search.JoinOperator)">
          <a class="xref" href="C1.LiveLinq.Indexing.Search.IIndexScanner-1.Join.html#C1_LiveLinq_Indexing_Search_IIndexScanner_1_Join__2_System_Collections_Generic_IEnumerable___0__System_Func___0_System_Object__System_Func__0___0___1__C1_LiveLinq_Indexing_Search_JoinOperator_">Join&lt;T2, TResult&gt;(IEnumerable&lt;T2&gt;, Func&lt;T2, object&gt;, Func&lt;T, T2, TResult&gt;, JoinOperator)</a>
        </td>
        <td class="markdown level1 summary"><p>Correlates the items of this indexed collection with the items of another sequence and returns the combined items with matching keys.</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>
