Konvertieren von Datentypen (C#)Converting Data Types (C#)

Konvertierungsmethoden ändern den Typ von Eingabeobjekten.Conversion methods change the type of input objects.

Konvertierungsvorgänge in LINQ-Abfragen sind in vielen Anwendungen nützlich.Conversion operations in LINQ queries are useful in a variety of applications. Nachstehend sind einige Beispiele aufgeführt:Following are some examples:

MethodenMethods

Die folgende Tabelle enthält die Standardabfrageoperator-Methoden, die Datentypumwandlungen ausführen.The following table lists the standard query operator methods that perform data-type conversions.

Die Konvertierungsmethoden in dieser Tabelle, deren Namen mit „As“ beginnen, ändern den statischen Typ der Quellauflistung, listen ihn jedoch nicht auf.The conversion methods in this table whose names start with "As" change the static type of the source collection but do not enumerate it. Die Methoden, deren Namen mit „To“ anfangen, listen die Quellauflistung auf und verschieben die Elemente in den entsprechenden Auflistungstyp.The methods whose names start with "To" enumerate the source collection and put the items into the corresponding collection type.

MethodennameMethod Name BeschreibungDescription C#-AbfrageausdruckssyntaxC# Query Expression Syntax Weitere InformationenMore Information
AsEnumerableAsEnumerable Gibt die Eingabe als IEnumerable<T> typisiert zurückReturns the input typed as IEnumerable<T>. Nicht zutreffend.Not applicable. Enumerable.AsEnumerable
AsQueryableAsQueryable Konvertiert ein (generisches) IEnumerable-Element in ein (generisches) IQueryable-ElementConverts a (generic) IEnumerable to a (generic) IQueryable. Nicht zutreffend.Not applicable. Queryable.AsQueryable
TypumwandlungCast Kopiert die Elemente einer Auflistung in einen bestimmten Typ.Casts the elements of a collection to a specified type. Verwenden Sie eine explizit typisierte Bereichsvariable.Use an explicitly typed range variable. Zum Beispiel:For example:

from string str in words
Enumerable.Cast

Queryable.Cast
OfTypeOfType Filtert Werte, je nach ihrer Fähigkeit, die in einen angegebenen Typ umgewandelt werden sollen.Filters values, depending on their ability to be cast to a specified type. Nicht zutreffend.Not applicable. Enumerable.OfType

Queryable.OfType
ToArrayToArray Konvertiert eine Auflistung in ein Array.Converts a collection to an array. Diese Methode erzwingt die Ausführung der Abfrage.This method forces query execution. Nicht zutreffend.Not applicable. Enumerable.ToArray
ToDictionaryToDictionary Platziert Elemente in ein Dictionary<TKey,TValue> auf Grundlage einer Schlüsselauswahlfunktion.Puts elements into a Dictionary<TKey,TValue> based on a key selector function. Diese Methode erzwingt die Ausführung der Abfrage.This method forces query execution. Nicht zutreffend.Not applicable. Enumerable.ToDictionary
ToListToList Konvertiert eine Auflistung in eine List<T>.Converts a collection to a List<T>. Diese Methode erzwingt die Ausführung der Abfrage.This method forces query execution. Nicht zutreffend.Not applicable. Enumerable.ToList
ToLookupToLookup Platziert Elemente, basierend auf einer Schlüsselauswahlfunktion, in ein Lookup<TKey,TElement> (one-to-many-Wörterbuch) ein.Puts elements into a Lookup<TKey,TElement> (a one-to-many dictionary) based on a key selector function. Diese Methode erzwingt die Ausführung der Abfrage.This method forces query execution. Nicht zutreffend.Not applicable. Enumerable.ToLookup

Beispiel für die AbfrageausdruckssyntaxQuery Expression Syntax Example

Das folgende Codebeispiel verwendet eine explizit typisierte Bereichsvariable, um einen Typ vor dem Zugriff auf ein Element, das nur im Untertyp verfügbar ist, in einen Untertyp umzuwandeln.The following code example uses an explicitly-typed range variable to cast a type to a subtype before accessing a member that is available only on the subtype.

class Plant  
{  
    public string Name { get; set; }  
}  

class CarnivorousPlant : Plant  
{  
    public string TrapType { get; set; }  
}  

static void Cast()  
{  
    Plant[] plants = new Plant[] {  
        new CarnivorousPlant { Name = "Venus Fly Trap", TrapType = "Snap Trap" },  
        new CarnivorousPlant { Name = "Pitcher Plant", TrapType = "Pitfall Trap" },  
        new CarnivorousPlant { Name = "Sundew", TrapType = "Flypaper Trap" },  
        new CarnivorousPlant { Name = "Waterwheel Plant", TrapType = "Snap Trap" }  
    };  

    var query = from CarnivorousPlant cPlant in plants  
                where cPlant.TrapType == "Snap Trap"  
                select cPlant;  

    foreach (Plant plant in query)  
        Console.WriteLine(plant.Name);  

    /* This code produces the following output:  

        Venus Fly Trap  
        Waterwheel Plant  
    */  
}  

Siehe auchSee Also

System.Linq
Standard Query Operators Overview (C#) (Übersicht der Standardabfrageoperatoren (C#))Standard Query Operators Overview (C#)
from-Klauselfrom clause
LINQ-AbfrageausdrückeLINQ Query Expressions
How to: Query an ArrayList with LINQ (C#) (Vorgehensweise: Abfragen von ArrayList mit LINQ (C#))How to: Query an ArrayList with LINQ (C#)