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

Termin "LINQ to Objects" odnosi się do używania zapytań LINQ z dowolnymi IEnumerable lub IEnumerable<T> kolekcji bezpośrednio, bez użycia pośredniego dostawcy LINQ lub interfejsu API, takiego jak LINQ to SQL lub LINQ to XML.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. Za pomocą LINQ można badać wszystkie wyliczalne kolekcje, takie jak List<T>, Arraylub Dictionary<TKey,TValue>.You can use LINQ to query any enumerable collections such as List<T>, Array, or Dictionary<TKey,TValue>. Kolekcja może być zdefiniowana przez użytkownika lub może być zwrócona przez interfejs API .NET Framework.The collection may be user-defined or may be returned by a .NET Framework API.

W podstawowym sensie LINQ to Objects reprezentuje nowe podejście do kolekcji.In a basic sense, LINQ to Objects represents a new approach to collections. W stary sposób należy napisać złożone pętle foreach, które określają sposób pobierania danych z kolekcji.In the old way, you had to write complex foreach loops that specified how to retrieve data from a collection. W podejściu LINQ napiszesz kod deklaratywny opisujący, co chcesz pobrać.In the LINQ approach, you write declarative code that describes what you want to retrieve.

Ponadto zapytania LINQ oferują trzy główne zalety w porównaniu z tradycyjnymi pętlami foreach:In addition, LINQ queries offer three main advantages over traditional foreach loops:

  1. Są one bardziej zwięzłe i czytelne, szczególnie w przypadku filtrowania wielu warunków.They are more concise and readable, especially when filtering multiple conditions.

  2. Zapewniają one zaawansowane możliwości filtrowania, porządkowania i grupowania przy minimalnym kodzie aplikacji.They provide powerful filtering, ordering, and grouping capabilities with a minimum of application code.

  3. Można je przenieść do innych źródeł danych z niewielką lub bez modyfikacji.They can be ported to other data sources with little or no modification.

Ogólnie rzecz biorąc, bardziej złożone operacje, które mają być wykonywane na danych, tym większe korzyści, które można wykorzystać przy użyciu LINQ zamiast tradycyjnych technik iteracji.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.

Celem tej sekcji jest zademonstrowanie podejścia LINQ z pewnymi przykładami.The purpose of this section is to demonstrate the LINQ approach with some select examples. Nie jest to wyczerpujące.It is not intended to be exhaustive.

W tej sekcjiIn This Section

LINQ i ciągi (C#)LINQ and Strings (C#)
Wyjaśnia, w jaki sposób LINQ może służyć do wykonywania zapytań i przekształcania ciągów i kolekcji ciągów.Explains how LINQ can be used to query and transform strings and collections of strings. Zawiera również linki do tematów demonstrujących te zasady.Also includes links to topics that demonstrate these principles.

LINQ i odbicieC#()LINQ and Reflection (C#)
Linki do przykładu, który pokazuje, jak LINQ używa odbicia.Links to a sample that demonstrates how LINQ uses reflection.

LINQ i katalogi plików (C#)LINQ and File Directories (C#)
Wyjaśnia, w jaki sposób LINQ może służyć do współdziałania z systemami plików.Explains how LINQ can be used to interact with file systems. Zawiera również linki do tematów, które przedstawiają te koncepcje.Also includes links to topics that demonstrate these concepts.

Instrukcje: zapytanie do ArrayList za pomocą LINQ (C#)How to: Query an ArrayList with LINQ (C#)
Pokazuje, jak zbadać ArrayList w C#.Demonstrates how to query an ArrayList in C#.

Jak dodać metody niestandardowe dla zapytań LINQ (C#)How to add custom methods for LINQ queries (C#)
Wyjaśnia, w jaki sposób rozszerzać zestaw metod, których można użyć dla zapytań LINQ przez dodanie metod rozszerzenia do interfejsu IEnumerable<T>.Explains how to extend the set of methods that you can use for LINQ queries by adding extension methods to the IEnumerable<T> interface.

Zapytanie zintegrowane z językiem (LINQ)C#()Language-Integrated Query (LINQ) (C#)
Zawiera łącza do tematów, które wyjaśniają LINQ i dostarczają przykłady kodu, który wykonuje zapytania.Provides links to topics that explain LINQ and provide examples of code that perform queries.