# GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions" data-uid="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions" class="text-break">EnumerableExtensions Class
</h1>
  <div class="markdown level0 summary"><p>Provides additional LINQ extensions.</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">EnumerableExtensions</span></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="GrapeCity.Enterprise.Data.Expressions.Tools.html">GrapeCity.Enterprise.Data.Expressions.Tools</a></h6>
  <h6><strong>Assembly</strong>: MESCIUS.ActiveReports.Core.Data.ExpressionInfo.dll</h6>
  <h5 id="GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;Will be internal. Write your own.&quot;)]
public static class EnumerableExtensions</code></pre>
  </div>
  <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="GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_AsIndexed__1_System_Collections_Generic_IEnumerable___0__" data-uid="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.AsIndexed``1(System.Collections.Generic.IEnumerable{``0})">
          <a class="xref" href="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.AsIndexed.html#GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_AsIndexed__1_System_Collections_Generic_IEnumerable___0__">AsIndexed&lt;T&gt;(IEnumerable&lt;T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>This method extends the LINQ methods to add index for each item</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_Flatten__1_System_Collections_Generic_IEnumerable___0__System_Func___0_System_Collections_Generic_IEnumerable___0___" data-uid="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.Flatten``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}})">
          <a class="xref" href="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.Flatten.html#GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_Flatten__1_System_Collections_Generic_IEnumerable___0__System_Func___0_System_Collections_Generic_IEnumerable___0___">Flatten&lt;T&gt;(IEnumerable&lt;T&gt;, Func&lt;T, IEnumerable&lt;T&gt;&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>This method extends the LINQ methods to flatten a collection of items that have a property of children of the same type.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_Flatten__1___0_System_Func___0_System_Collections_Generic_IEnumerable___0___" data-uid="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.Flatten``1(``0,System.Func{``0,System.Collections.Generic.IEnumerable{``0}})">
          <a class="xref" href="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.Flatten.html#GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_Flatten__1___0_System_Func___0_System_Collections_Generic_IEnumerable___0___">Flatten&lt;T&gt;(T, Func&lt;T, IEnumerable&lt;T&gt;&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>This method extends the LINQ methods to obtain a single-level collection of descendants(is a collections) of an object of type T</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_Flatten__1___0_System_Func___0___0__" data-uid="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.Flatten``1(``0,System.Func{``0,``0})">
          <a class="xref" href="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.Flatten.html#GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_Flatten__1___0_System_Func___0___0__">Flatten&lt;T&gt;(T, Func&lt;T, T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>This method extends the LINQ methods to obtain a single-level collection of descendants(is an object) of an object of type T</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_Repeat__1___0_System_Int32_" data-uid="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.Repeat``1(``0,System.Int32)">
          <a class="xref" href="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.Repeat.html#GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_Repeat__1___0_System_Int32_">Repeat&lt;T&gt;(T, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Generates a sequence that contains one repeated value.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_SelectWithNext__2_System_Collections_Generic_IEnumerable___0__System_Func___0___0___1__" data-uid="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.SelectWithNext``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``0,``1})">
          <a class="xref" href="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.SelectWithNext.html#GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_SelectWithNext__2_System_Collections_Generic_IEnumerable___0__System_Func___0___0___1__">SelectWithNext&lt;TSource, TResult&gt;(IEnumerable&lt;TSource&gt;, Func&lt;TSource, TSource, TResult&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Proceeds each item in enumerable with its follower.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_Select__2_System_Collections_Generic_IEnumerable___0__System_Func___0_System_Boolean_System_Boolean___1__" data-uid="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.Select``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean,System.Boolean,``1})">
          <a class="xref" href="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.Select.html#GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_Select__2_System_Collections_Generic_IEnumerable___0__System_Func___0_System_Boolean_System_Boolean___1__">Select&lt;T, TR&gt;(IEnumerable&lt;T&gt;, Func&lt;T, bool, bool, TR&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Projection of given sequence with first, last markers.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_WithIndex__1___0_System_Int32_" data-uid="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.WithIndex``1(``0,System.Int32)">
          <a class="xref" href="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.WithIndex.html#GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_WithIndex__1___0_System_Int32_">WithIndex&lt;T&gt;(T, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Wraps an item of type T into type <a class="xref" href="GrapeCity.Enterprise.Data.Expressions.Tools.OrderedItem-1.html">OrderedItem&lt;T&gt;</a>, adding the specified index</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_ZipEx__3_System_Collections_Generic_IEnumerable___0__System_Collections_Generic_IEnumerable___1__System_Func_System_Int32___0___1___2__" data-uid="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.ZipEx``3(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{System.Int32,``0,``1,``2})">
          <a class="xref" href="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.ZipEx.html#GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_ZipEx__3_System_Collections_Generic_IEnumerable___0__System_Collections_Generic_IEnumerable___1__System_Func_System_Int32___0___1___2__">ZipEx&lt;T1, T2, TR&gt;(IEnumerable&lt;T1&gt;, IEnumerable&lt;T2&gt;, Func&lt;int, T1, T2, TR&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Applies a specified function to the corresponding elements of two sequences, producing a sequence of the results</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_ZipEx__3_System_Collections_Generic_IEnumerable___0__System_Collections_Generic_IEnumerable___1__System_Func___0___1___2__" data-uid="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.ZipEx``3(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``1,``2})">
          <a class="xref" href="GrapeCity.Enterprise.Data.Expressions.Tools.EnumerableExtensions.ZipEx.html#GrapeCity_Enterprise_Data_Expressions_Tools_EnumerableExtensions_ZipEx__3_System_Collections_Generic_IEnumerable___0__System_Collections_Generic_IEnumerable___1__System_Func___0___1___2__">ZipEx&lt;T1, T2, TR&gt;(IEnumerable&lt;T1&gt;, IEnumerable&lt;T2&gt;, Func&lt;T1, T2, TR&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Applies a specified function to the corresponding elements of two sequences, producing a sequence of the results</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
