# C1.LiveLinq.Indexing.SubindexCollection-1

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_LiveLinq_Indexing_SubindexCollection_1" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1" class="text-break">SubindexCollection&lt;T&gt; Class
</h1>
  <div class="markdown level0 summary"><p>Represents a collection of subindexes attached to an <a class="xref" href="C1.LiveLinq.Indexing.IndexDefinition-1.html">IndexDefinition&lt;T&gt;</a>.</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">SubindexCollection&lt;T&gt;</span></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1">IList</a>&lt;<a class="xref" href="C1.LiveLinq.Indexing.Subindex-1.html">Subindex</a>&lt;T&gt;&gt;</div>
    <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.Subindex-1.html">Subindex</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.Subindex-1.html">Subindex</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_SubindexCollection_1_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public sealed class SubindexCollection&lt;T&gt; : IList&lt;Subindex&lt;T&gt;&gt;, ICollection&lt;Subindex&lt;T&gt;&gt;, IEnumerable&lt;Subindex&lt;T&gt;&gt;, IEnumerable</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public NotInheritable Class SubindexCollection(Of T)
    Implements IList(Of Subindex(Of T)), ICollection(Of Subindex(Of T)), IEnumerable(Of Subindex(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 collection to index.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="C1_LiveLinq_Indexing_SubindexCollection_1_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p>A <a class="xref" href="C1.LiveLinq.Indexing.Subindex-2.html">Subindex&lt;T, TKey&gt;</a> is attached to its parent index definition, which is an <a class="xref" href="C1.LiveLinq.Indexing.Index-2.html">Index&lt;T, TKey&gt;</a>
or another <a class="xref" href="C1.LiveLinq.Indexing.Subindex-2.html">Subindex&lt;T, TKey&gt;</a>. The subindexes collection is stored in the parent's <a class="xref" href="C1.LiveLinq.Indexing.IndexDefinition-1.Subindexes.html#C1_LiveLinq_Indexing_IndexDefinition_1_Subindexes">Subindexes</a> property.</p>
<p>Subindexes are optional, not required for any indexing tasks, but can provide additional optimization and help minimize memory requirements when a collection is indexed by multi-level (multi-field) keys.</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_SubindexCollection_1_Count" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Count">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Count.html#C1_LiveLinq_Indexing_SubindexCollection_1_Count">Count</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the number of subindexes in the collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_Item_System_Int32_" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Item(System.Int32)">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Item.html#C1_LiveLinq_Indexing_SubindexCollection_1_Item_System_Int32_">this[int]</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the subindex object at the specified ordinal position 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_SubindexCollection_1_Add_System_Linq_Expressions_LambdaExpression_System_Boolean_System_Boolean_C1_LiveLinq_Indexing_IndexingAlgorithm_System_Globalization_CultureInfo_" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Add(System.Linq.Expressions.LambdaExpression,System.Boolean,System.Boolean,C1.LiveLinq.Indexing.IndexingAlgorithm,System.Globalization.CultureInfo)">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Add.html#C1_LiveLinq_Indexing_SubindexCollection_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 subindex and attaches it to its parent's <a class="xref" href="C1.LiveLinq.Indexing.IndexDefinition-1.Subindexes.html#C1_LiveLinq_Indexing_IndexDefinition_1_Subindexes">Subindexes</a> collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Add``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Add.html#C1_LiveLinq_Indexing_SubindexCollection_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 subindex and attaches it to its parent's <a class="xref" href="C1.LiveLinq.Indexing.IndexDefinition-1.Subindexes.html#C1_LiveLinq_Indexing_IndexDefinition_1_Subindexes">Subindexes</a> collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___System_Boolean_" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Add``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},System.Boolean)">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Add.html#C1_LiveLinq_Indexing_SubindexCollection_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 subindex and attaches it to its parent's <a class="xref" href="C1.LiveLinq.Indexing.IndexDefinition-1.Subindexes.html#C1_LiveLinq_Indexing_IndexDefinition_1_Subindexes">Subindexes</a> collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___System_Boolean_System_Boolean_" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Add``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},System.Boolean,System.Boolean)">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Add.html#C1_LiveLinq_Indexing_SubindexCollection_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 subindex and attaches it to its parent's <a class="xref" href="C1.LiveLinq.Indexing.IndexDefinition-1.Subindexes.html#C1_LiveLinq_Indexing_IndexDefinition_1_Subindexes">Subindexes</a> collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_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.SubindexCollection`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.SubindexCollection-1.Add.html#C1_LiveLinq_Indexing_SubindexCollection_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 subindex and attaches it to its parent's <a class="xref" href="C1.LiveLinq.Indexing.IndexDefinition-1.Subindexes.html#C1_LiveLinq_Indexing_IndexDefinition_1_Subindexes">Subindexes</a> collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_Add__1_System_Linq_Expressions_Expression_System_Func__0___0___System_Boolean_System_Boolean_System_Globalization_CultureInfo_" data-uid="C1.LiveLinq.Indexing.SubindexCollection`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.SubindexCollection-1.Add.html#C1_LiveLinq_Indexing_SubindexCollection_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 subindex and attaches it to its parent's <a class="xref" href="C1.LiveLinq.Indexing.IndexDefinition-1.Subindexes.html#C1_LiveLinq_Indexing_IndexDefinition_1_Subindexes">Subindexes</a> collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_Clear" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Clear">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Clear.html#C1_LiveLinq_Indexing_SubindexCollection_1_Clear">Clear()</a>
        </td>
        <td class="markdown level1 summary"><p>Clears the collection of all subindexes. All subindexes are detached from the parent and destroyed.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_Contains_System_Linq_Expressions_LambdaExpression_" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Contains(System.Linq.Expressions.LambdaExpression)">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Contains.html#C1_LiveLinq_Indexing_SubindexCollection_1_Contains_System_Linq_Expressions_LambdaExpression_">Contains(LambdaExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether a subindex with the specified key selector exists in the collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_Contains__1_System_Linq_Expressions_Expression_System_Func__0___0___" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Contains``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Contains.html#C1_LiveLinq_Indexing_SubindexCollection_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 a subindex with the specified key selector exists in the collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_Find_System_Linq_Expressions_LambdaExpression_" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Find(System.Linq.Expressions.LambdaExpression)">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Find.html#C1_LiveLinq_Indexing_SubindexCollection_1_Find_System_Linq_Expressions_LambdaExpression_">Find(LambdaExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Finds a subindex in the collection by its key selector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_Find__1_System_Linq_Expressions_Expression_System_Func__0___0___" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Find``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Find.html#C1_LiveLinq_Indexing_SubindexCollection_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 a subindex in the collection by its key selector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_GetEnumerator" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.GetEnumerator">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.GetEnumerator.html#C1_LiveLinq_Indexing_SubindexCollection_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.SubindexCollection-1.html">SubindexCollection&lt;T&gt;</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_Remove_C1_LiveLinq_Indexing_Subindex__0__" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Remove(C1.LiveLinq.Indexing.Subindex{`0})">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Remove.html#C1_LiveLinq_Indexing_SubindexCollection_1_Remove_C1_LiveLinq_Indexing_Subindex__0__">Remove(Subindex&lt;T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Removes a subindex from the collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_Indexing_SubindexCollection_1_Remove_System_Linq_Expressions_LambdaExpression_" data-uid="C1.LiveLinq.Indexing.SubindexCollection`1.Remove(System.Linq.Expressions.LambdaExpression)">
          <a class="xref" href="C1.LiveLinq.Indexing.SubindexCollection-1.Remove.html#C1_LiveLinq_Indexing_SubindexCollection_1_Remove_System_Linq_Expressions_LambdaExpression_">Remove(LambdaExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Removes a subindex 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>
