Enumerable.Append<TSource>(IEnumerable<TSource>, TSource) Method

Definition

Appends a value to the end of the sequence.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<TSource> ^ Append(System::Collections::Generic::IEnumerable<TSource> ^ source, TSource element);
public static System.Collections.Generic.IEnumerable<TSource> Append<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, TSource element);
static member Append : seq<'Source> * 'Source -> seq<'Source>
<Extension()>
Public Function Append(Of TSource) (source As IEnumerable(Of TSource), element As TSource) As IEnumerable(Of TSource)

Type Parameters

TSource

The type of the elements of source.

Parameters

source
IEnumerable<TSource>

A sequence of values.

element
TSource

The value to append to source.

Returns

IEnumerable<TSource>

A new sequence that ends with element.

Exceptions

source is null.

Examples

The following code example demonstrates how to use Append to append a value to the end of the sequence.

// Creating a list of numbers
List<int> numbers = new List<int> { 1, 2, 3, 4 };

// Trying to append any value of the same type
numbers.Append(5);

// It doesn't work because the original list has not been changed
Console.WriteLine(string.Join(", ", numbers));

// It works now because we are using a changed copy of the original list
Console.WriteLine(string.Join(", ", numbers.Append(5)));

// If you prefer, you can create a new list explicitly
List<int> newNumbers = numbers.Append(5).ToList();

// And then write to the console output
Console.WriteLine(string.Join(", ", newNumbers));

// This code produces the following output:
//
// 1, 2, 3, 4
// 1, 2, 3, 4, 5
// 1, 2, 3, 4, 5
' Creating a list of numbers
Dim numbers As New List(Of Integer)(New Integer() {1, 2, 3, 4})

' Trying to append any value of the same type
numbers.Append(5)

' It doesn't work because the original list has not been changed
Console.WriteLine(String.Join(", ", numbers))

' It works now because we are using a changed copy of the original list
Console.WriteLine(String.Join(", ", numbers.Append(5)))

' If you prefer, you can create a new list explicitly
Dim newNumbers As List(Of Integer) = numbers.Append(5).ToList

' And then write to the console output
Console.WriteLine(String.Join(", ", newNumbers))

' This code produces the following output:
'
' 1, 2, 3, 4
' 1, 2, 3, 4, 5
' 1, 2, 3, 4, 5

Remarks

Note

This method does not modify the elements of the collection. Instead, it creates a copy of the collection with the new element.

Applies to