SuperLinq SuperLinq
SuperLinq SuperLinq
DocFX + Singulink = ♥

Search Results for

    Method CopyTo

    | Edit this page

    CopyTo<TSource>(IEnumerable<TSource>, Span<TSource>)

    Copies the contents of a sequence into a provided span.

    Declaration
    public static int CopyTo<TSource>(this IEnumerable<TSource> source, Span<TSource> span)
    Parameters
    Type Name Description
    IEnumerable<TSource> source

    The source sequence.

    Span<TSource> span

    The span that is the destination of the elements copied from source.

    Returns
    Type Description
    int

    The number of elements actually copied.

    Type Parameters
    Name Description
    TSource

    The type of elements of source

    Remarks

    All data from source will be copied to span if possible.

    If source is shorter than span, then any remaining elements will be untouched. If source is longer than span, then an exception will be thrown.

    This operator executes immediately.

    Examples

    The following code example demonstrates how to copy data to a span using the CopyTo operator.

    var sequence = Enumerable.Range(1, 5);
    var destination = new int[7];
    var span = destination.AsSpan();
                
    // Copy the provided sequence to a span
    var result = sequence.CopyTo(span[1..]);
    
    Console.WriteLine(result);
    Console.WriteLine(
        "[" +
        string.Join(", ", destination) +
        "]");
    
    // This code produces the following output:
    // 5
    // [0, 1, 2, 3, 4, 5, 0]
    
    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentException

    span is not long enough to hold the data from sequence.

    | Edit this page

    CopyTo<TSource>(IEnumerable<TSource>, TSource[])

    Copies the contents of a sequence into a provided span.

    Declaration
    public static int CopyTo<TSource>(this IEnumerable<TSource> source, TSource[] array)
    Parameters
    Type Name Description
    IEnumerable<TSource> source

    The source sequence.

    TSource[] array

    The span that is the destination of the elements copied from source.

    Returns
    Type Description
    int

    The number of elements actually copied.

    Type Parameters
    Name Description
    TSource

    The type of elements of source

    Remarks

    All data from source will be copied to array if possible.

    If source is shorter than array, then any remaining elements will be untouched. If source is longer than array, then an exception will be thrown.

    This operator executes immediately.

    Examples

    The following code example demonstrates how to copy data to an array using the CopyTo operator.

    var sequence = Enumerable.Range(1, 5);
    var destination = new int[5];
                
    // Copy the provided sequence to an array
    var result = sequence.CopyTo(destination);
    
    Console.WriteLine(result);
    Console.WriteLine(
        "[" +
        string.Join(", ", destination) +
        "]");
    
    // This code produces the following output:
    // 5
    // [1, 2, 3, 4, 5]
    
    Exceptions
    Type Condition
    ArgumentNullException

    source or array is null.

    ArgumentException

    array is not long enough to hold the data from sequence.

    | Edit this page

    CopyTo<TSource>(IEnumerable<TSource>, IList<TSource>)

    Copies the contents of a sequence into a provided list.

    Declaration
    public static int CopyTo<TSource>(this IEnumerable<TSource> source, IList<TSource> list)
    Parameters
    Type Name Description
    IEnumerable<TSource> source

    The source sequence.

    IList<TSource> list

    The list that is the destination of the elements copied from source.

    Returns
    Type Description
    int

    The number of elements actually copied.

    Type Parameters
    Name Description
    TSource

    The type of elements of source

    Remarks

    All data from source will be copied to list, starting at position 0.

    If source is shorter than list, then any remaining elements will be untouched. If source is longer than list, then an exception may be thrown if the list has a fixed size (an Array, for example).

    This operator executes immediately.

    Examples

    The following code example demonstrates how to copy data to a list using the CopyTo operator.

    var sequence = Enumerable.Range(1, 5);
    var destination = new List<int>() { -1, -2, };
                
    // Copy the provided sequence to a list
    var result = sequence.CopyTo(destination);
    
    Console.WriteLine(result);
    Console.WriteLine(
        "[" +
        string.Join(", ", destination) +
        "]");
    
    // This code produces the following output:
    // 5
    // [1, 2, 3, 4, 5]
    
    Exceptions
    Type Condition
    ArgumentNullException

    source or list is null.

    NotSupportedException

    The list is readonly, or does not allow increasing the size via Add(T)

    | Edit this page

    CopyTo<TSource>(IEnumerable<TSource>, IList<TSource>, int)

    Copies the contents of a sequence into a provided list.

    Declaration
    public static int CopyTo<TSource>(this IEnumerable<TSource> source, IList<TSource> list, int index)
    Parameters
    Type Name Description
    IEnumerable<TSource> source

    The source sequence.

    IList<TSource> list

    The list that is the destination of the elements copied from source.

    int index

    The position in list at which to start copying data.

    Returns
    Type Description
    int

    The number of elements actually copied.

    Type Parameters
    Name Description
    TSource

    The type of elements of source

    Remarks

    All data from source will be copied to list, starting at position index.

    If source is shorter than list, then any remaining elements will be untouched. If source is longer than list, then an exception may be thrown if the list has a fixed size (an Array, for example).

    This operator executes immediately.

    Examples

    The following code example demonstrates how to copy data to a list using the CopyTo operator.

    var sequence = Enumerable.Range(1, 5);
    var destination = new List<int>() { -1, -2, };
                
    // Copy the provided sequence to a list at a specified index
    var result = sequence.CopyTo(destination, 2);
    
    Console.WriteLine(result);
    Console.WriteLine(
        "[" +
        string.Join(", ", destination) +
        "]");
    
    // This code produces the following output:
    // 5
    // [-1, -2, 1, 2, 3, 4, 5]
    
    Exceptions
    Type Condition
    ArgumentNullException

    source or list is null.

    ArgumentOutOfRangeException

    index is less than 0.

    NotSupportedException

    The list is readonly, or does not allow increasing the size via Add(T)

    © SuperLinq Authors. All rights reserved.