| File: RenderTree\ArrayBuilderExtensions.cs | Web Access |
| Project: src\aspnetcore\src\Components\Components\src\Microsoft.AspNetCore.Components.csproj (Microsoft.AspNetCore.Components) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.AspNetCore.Components.RenderTree; internal static class ArrayBuilderExtensions { /// <summary> /// Produces an <see cref="ArrayRange{T}"/> structure describing the current contents. /// </summary> /// <returns>The <see cref="ArrayRange{T}"/>.</returns> public static ArrayRange<T> ToRange<T>(this ArrayBuilder<T> builder) => new ArrayRange<T>(builder.Buffer, builder.Count); /// <summary> /// Produces an <see cref="ArrayBuilderSegment{T}"/> structure describing the selected contents. /// </summary> /// <param name="builder">The <see cref="ArrayBuilder{T}"/></param> /// <param name="fromIndexInclusive">The index of the first item in the segment.</param> /// <param name="toIndexExclusive">One plus the index of the last item in the segment.</param> /// <returns>The <see cref="ArraySegment{T}"/>.</returns> public static ArrayBuilderSegment<T> ToSegment<T>(this ArrayBuilder<T> builder, int fromIndexInclusive, int toIndexExclusive) => new ArrayBuilderSegment<T>(builder, fromIndexInclusive, toIndexExclusive - fromIndexInclusive); }