# Enumerable.Prepend<TSource>(IEnumerable<TSource>, TSource) Metodo

## Definizione

Aggiunge un valore all'inizio della sequenza.Adds a value to the beginning of the sequence.

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

#### Parametri di tipo

TSource

Tipo degli elementi di `source`.The type of the elements of `source`.

#### Parametri

source
IEnumerable<TSource>

Sequenza di valori.A sequence of values.

element
TSource

Valore da anteporre a `source`.The value to prepend to `source`.

#### Restituisce

IEnumerable<TSource>

Nuova sequenza che inizia con `element`.A new sequence that begins with `element`.

#### Eccezioni

`source` è `null`.`source` is `null`.

## Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare Prepend per anteporre un valore all'inizio della sequenza.The following code example demonstrates how to use Prepend to prepend a value to the beginning of the sequence.

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

// Trying to prepend any value of the same type
numbers.Prepend(0);

// 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.Prepend(0)));

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

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

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

' Trying to prepend any value of the same type
numbers.Prepend(0)

' 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.Prepend(0)))

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

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

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

## Commenti

Nota

Questo metodo non modifica gli elementi della raccolta.This method does not modify the elements of the collection. Viene invece creata una copia della raccolta con il nuovo elemento.Instead, it creates a copy of the collection with the new element.