Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Queryable.Concat<TSource>(IQueryable<TSource>, IEnumerable<TSource>)

 

Data di pubblicazione: novembre 2016

Concatena due sequenze.

Spazio dei nomi:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static IQueryable<TSource> Concat<TSource>(
	this IQueryable<TSource> source1,
	IEnumerable<TSource> source2
)

Parametri

source1
Type: System.Linq.IQueryable<TSource>

Prima sequenza da concatenare.

source2
Type: System.Collections.Generic.IEnumerable<TSource>

Sequenza da concatenare alla prima sequenza.

Valore restituito

Type: System.Linq.IQueryable<TSource>

Un IQueryable<T> che contiene gli elementi concatenati delle due sequenze di input.

Parametri tipo

TSource

Tipo degli elementi delle sequenze di input.

Exception Condition
ArgumentNullException

source1 o source2 è null.

Il Concat<TSource>(IQueryable<TSource>, IEnumerable<TSource>) metodo genera un MethodCallExpression che rappresenta una chiamata Concat<TSource>(IQueryable<TSource>, IEnumerable<TSource>) stesso come un metodo generico costruito. Passa quindi il MethodCallExpression per il CreateQuery<TElement>(Expression) metodo il IQueryProvider rappresentato dal Provider proprietà del source1 parametro.

Il comportamento della query che si verifica in seguito all'esecuzione di una struttura ad albero dell'espressione che rappresenta una chiamata Concat<TSource>(IQueryable<TSource>, IEnumerable<TSource>) dipende dall'implementazione del tipo di source1 parametro. Il comportamento previsto è che gli elementi in source2 vengono concatenati a quelli di source1 per creare una nuova sequenza.

Esempio di codice seguente viene illustrato come utilizzare Concat<TSource>(IQueryable<TSource>, IEnumerable<TSource>) per concatenare due sequenze.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

// This method creates and returns an array of Pet objects.
static Pet[] GetCats()
{
    Pet[] cats = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };
    return cats;
}

// This method creates and returns an array of Pet objects.
static Pet[] GetDogs()
{
    Pet[] dogs = { new Pet { Name="Bounder", Age=3 },
                   new Pet { Name="Snoopy", Age=14 },
                   new Pet { Name="Fido", Age=9 } };
    return dogs;
}

public static void ConcatEx1()
{
    Pet[] cats = GetCats();
    Pet[] dogs = GetDogs();

    // Concatenate a collection of cat names to a
    // collection of dog names by using Concat().
    IEnumerable<string> query =
        cats.AsQueryable()
        .Select(cat => cat.Name)
        .Concat(dogs.Select(dog => dog.Name));

    foreach (string name in query)
        Console.WriteLine(name);
}

// This code produces the following output:
//
// Barley
// Boots
// Whiskers
// Bounder
// Snoopy
// Fido

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.1
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: