LINQ to Objects (C#)LINQ to Objects (C#)

Die Bezeichnung „LINQ to Objects“ bezieht sich auf die direkte Verwendung von LINQ-Abfragen mit einer beliebigen IEnumerable- oder IEnumerable<T>-Auflistung, ohne einen LINQ-Zwischenanbieter oder eine API wie LINQ to SQL oder LINQ to XML zu verwenden.The term "LINQ to Objects" refers to the use of LINQ queries with any IEnumerable or IEnumerable<T> collection directly, without the use of an intermediate LINQ provider or API such as LINQ to SQL or LINQ to XML. Sie können LINQ zur Abfrage beliebiger aufzählbarer Auflistungen wie List<T>, Array oder Dictionary<TKey,TValue> verwenden.You can use LINQ to query any enumerable collections such as List<T>, Array, or Dictionary<TKey,TValue>. Die Auflistung kann entweder benutzerdefiniert sein oder von einer .NET Framework-API zurückgegeben werden.The collection may be user-defined or may be returned by a .NET Framework API.

Im Grunde stellt LINQ to Objects einen neuen Ansatz für Auflistungen dar.In a basic sense, LINQ to Objects represents a new approach to collections. Bisher mussten Sie komplexe foreach-Schleifen erstellen, die angegeben haben, wie Daten aus einer Auflistung abgerufen werden.In the old way, you had to write complex foreach loops that specified how to retrieve data from a collection. Im LINQ-Ansatz verfassen Sie einen deklarativen Code, in dem beschrieben wird, was Sie abrufen möchten.In the LINQ approach, you write declarative code that describes what you want to retrieve.

Zudem bieten LINQ-Abfragen drei wesentliche Vorteile gegenüber herkömmlichen foreach-Schleifen:In addition, LINQ queries offer three main advantages over traditional foreach loops:

  1. Sie sind präziser und lesbarer, insbesondere beim Filtern mehrerer Bedingungen.They are more concise and readable, especially when filtering multiple conditions.

  2. Sie bieten mit minimalem Anwendungscode leistungsstarke Filter-, Sortier- und Gruppierungsfunktionen.They provide powerful filtering, ordering, and grouping capabilities with a minimum of application code.

  3. Sie können mit geringfügigen oder ohne Änderungen zu anderen Datenquellen portiert werden.They can be ported to other data sources with little or no modification.

Je komplexer die für die Daten durchzuführende Operation, desto größer ist im Allgemeinen der Vorteil, den Sie durch die Verwendung von LINQ anstelle der herkömmlichen Iterationsverfahren haben.In general, the more complex the operation you want to perform on the data, the more benefit you will realize by using LINQ instead of traditional iteration techniques.

Der Zweck dieses Abschnitts ist es, den LINQ-Ansatz anhand einiger Beispiele zu veranschaulichen.The purpose of this section is to demonstrate the LINQ approach with some select examples. Er ist bei weitem nicht als vollständig zu betrachten.It is not intended to be exhaustive.

In diesem AbschnittIn This Section

LINQ and Strings (C#) (LINQ und Zeichenfolgen (C#))LINQ and Strings (C#)
Erläutert, wie LINQ zum Abfragen und Transformieren von Zeichenfolgen und Auflistungen von Zeichenfolgen verwendet werden kann.Explains how LINQ can be used to query and transform strings and collections of strings. Dieser Abschnitt umfasst auch Links zu Themen, die diese Prinzipien veranschaulichen.Also includes links to topics that demonstrate these principles.

LINQ and Reflection (C#) (LINQ und Reflektion (C#))LINQ and Reflection (C#)
Verweist auf ein Beispiel, das darstellt, wie LINQ die Reflektion verwendet.Links to a sample that demonstrates how LINQ uses reflection.

LINQ and File Directories (C#) (LINQ und Dateiverzeichnisse (C#))LINQ and File Directories (C#)
Erläutert, wie LINQ für die Interaktion mit Dateisystemen verwendet werden kann.Explains how LINQ can be used to interact with file systems. Dieser Abschnitt umfasst auch Links zu Themen, die diese Konzepte veranschaulichen.Also includes links to topics that demonstrate these concepts.

How to: Query an ArrayList with LINQ (C#) (Vorgehensweise: Abfragen von ArrayList mit LINQ (C#))How to: Query an ArrayList with LINQ (C#)
Veranschaulicht die Abfrage einer ArrayList in Visual Basic und C#.Demonstrates how to query an ArrayList in C#.

How to: Add Custom Methods for LINQ Queries (C#) (Vorgehensweise: Hinzufügen von benutzerdefinierten Methoden zu LINQ-Abfragen (C#))How to: Add Custom Methods for LINQ Queries (C#)
Erläutert die Erweiterung des Methodensatzes, den Sie durch Hinzufügen von Erweiterungsmethoden zur IEnumerable<T>-Schnittstelle verwenden können.Explains how to extend the set of methods that you can use for LINQ queries by adding extension methods to the IEnumerable<T> interface.

Language-Integrated Query (LINQ) (C#) (Language-Integrated Query (LINQ) (C#))Language-Integrated Query (LINQ) (C#)
Stellt Links zu Themen bereit, die LINQ erläutern. Zudem werden Codebeispiele bereitgestellt, die Abfragen durchführen.Provides links to topics that explain LINQ and provide examples of code that perform queries.