Wyrażenia w kwerendzie LINQ (Podręcznik programowania C#)
Language-Integrated Query (LINQ)jest nazwą zestaw technologii, oparty na integracji możliwości kwerendy bezpośrednio w języku C# (również w Visual Basic i potencjalnie wszelkich innych.Język netto).Z LINQ, kwerenda jest teraz konstrukcje językowe biletu, podobnie jak klas, metody, zdarzenia i tak dalej.
Dla kwerend deweloper, który zapisuje, najbardziej widoczna część "language zintegrowane" LINQ jest wyrażenie kwerendy.Wyrażenia kwerendy są zapisywane w declarative składni kwerendy wprowadzone w C# 3.0.Za pomocą składni kwerendy, można wykonać filtrowanie nawet złożone, porządkowaniem i operacji grupowania do źródeł danych, z minimum kodu.Użyj te same wzory wyrażenia podstawowe kwerendy do kwerendy i przekształcania danych w bazach danych SQL, ADO.NET zestawów danych dokumentów XML i strumienie, i.Kolekcje netto.
Operacja pełnej kwerendy można znaleźć w poniższym przykładzie.Zakończenie operacji obejmuje tworzenie źródła danych, Definiowanie wyrażenia kwerendy i wykonywanie kwerendy w foreach instrukcji.
class LINQQueryExpressions
{
static void Main()
{
// Specify the data source.
int[] scores = new int[] { 97, 92, 81, 60 };
// Define the query expression.
IEnumerable<int> scoreQuery =
from score in scores
where score > 80
select score;
// Execute the query.
foreach (int i in scoreQuery)
{
Console.Write(i + " ");
}
}
}
// Output: 97 92 81
Aby uzyskać więcej informacji na temat podstawy LINQ w języku C#, zobacz Wprowadzenie do programu LINQ w C#.
Omówienie wyrażenia kwerendy
Wyrażenia w kwerendzie może służyć do kwerendy i przekształcania danych z dowolnego LINQ-włączone źródła danych.Na przykład jednej kwerendzie można pobierać dane z bazy danych SQL i produkują strumienia XML jako danych wyjściowych.
Wyrażenia w kwerendzie są łatwe do wzorca, ponieważ używają one wiele znanych konstrukcje języka C#.Aby uzyskać więcej informacji, zobacz Wprowadzenie do programu LINQ w C#.
Zmienne w wyrażeniu kwerendy są wszystkie zdecydowanie wpisane, chociaż w wielu przypadkach nie trzeba jawnie Podaj typ, ponieważ kompilator można go rozpoznać.Aby uzyskać więcej informacji, zobacz Typ relacji w operacjach kwerendy LINQ (C#).
Kwerenda nie jest wykonywana, dopóki iteracyjne zmienna kwerendy w foreach instrukcji.Aby uzyskać więcej informacji, zobacz Wprowadzenie do zapytań LINQ (C#).
W czasie kompilacji wyrażenia w kwerendzie są konwertowane na Standard Operator kwerendy wywołania metody zgodnie z zasadami określonymi w specyfikacji języka C#.Dowolny typ kwerendy, która może być wyrażona za pomocą składni kwerendy można również wyrażane za pomocą składni metody.Jednak w większości przypadków składni kwerendy jest bardziej czytelny i zwięzły.Aby uzyskać więcej informacji, zobacz Specyfikacja języka C# i Omówienie operatory kwerendy standardowe.
Jako zasada, gdy piszesz LINQ kwerendy, zalecane użycie składni kwerendy w każdym przypadku, gdy jest to możliwe i składni metody w każdym przypadku, gdy jest to konieczne.Jest nie semantyczne lub wydajności różnica między dwie różne formy.Wyrażenia w kwerendzie są często bardziej czytelny niż równoważne wyrażenia zapisane w składni metody.
Niektóre kwerendy operacje, takie jak Count lub Max, mieć żadnej klauzuli wyrażenie kwerendy równoważne i dlatego musi być wyrażona jako wywołanie metody.Metoda składni można łączyć z składni kwerendy na różne sposoby.Aby uzyskać więcej informacji, zobacz Składnia zapytania i metody w technologii LINQ (C#).
Wyrażenia w kwerendzie może zostać skompilowany drzew wyrażenie lub delegatów, w zależności od typu zastosowanego do kwerendy.IEnumerable<T>kwerendy są kompilowane do pełnomocników.IQueryablei IQueryable<T> kwerendy są kompilowane do wyrażenia drzewa.Aby uzyskać więcej informacji, zobacz Wyrażenie drzew (C# i Visual Basic).
Poniższa lista zawiera tematy Pomocy zawierające dodatkowe informacje dotyczące kwerend i przykłady kodu do wykonywania typowych zadań.
Temat |
Opis |
---|---|
Pojęcia związane z podstawowych kwerendy i przykłady składni kwerendy języka C#. |
|
Przykłady kilku podstawowych rodzajów wyrażenia w kwerendzie. |
|
Jak: obsługi wyjątków w wyrażeniach kwerend (Podręcznik programowania C#) |
W jaki sposób i kiedy należy przenieść potencjalnych rzuca wyjątek kodu poza wyrażenie kwerendy. |
Jak używać select instrukcji, aby scalić dane z różnych źródeł do nowego typu. |
|
Przedstawia różne sposoby używania group klauzuli. |
|
Jak: Tworzenie grupy zagnieżdżone (Podręcznik programowania C#) |
Pokazuje, jak utworzyć grupy zagnieżdżone. |
Jak: wykonywanie podkwerendy w operacji grupowania (Podręcznik programowania C#) |
Pokazuje, jak użyć wyrażenia podrzędnego w kwerendzie jako Yródło danych dla nowej kwerendy. |
Jak: grupy wyników przez ciągłe klucze (Podręcznik programowania C#) |
Pokazuje, jak zaimplementować operatora wielowątkowość standardowej kwerendy, który może wykonywać operacje grupowania na przesyłanie strumieniowe źródeł danych. |
Jak: dynamicznie określ filtry predykat w czasie wykonywania (Podręcznik programowania C#) |
Pokazuje, jak dostaw dowolnej liczby wartości mają być w porównaniach równości w where klauzuli. |
Jak: przechowywanie wyników kwerendy w pamięci (Podręcznik programowania C#) |
Ilustruje sposób zaistniała i przechowywanie wyników kwerendy bez używania niekoniecznie foreach pętli. |
Pokazuje, jak zwrócić zmiennych kwerend z metod i jak je przekazać do metod jako parametrów wejściowych. |
|
Jak: wykonywanie operacji Join niestandardowe (Podręcznik programowania C#) |
Pokazuje, jak wykonywać operacje join oparte na jakiejkolwiek funkcji predykatu. |
Jak: sprzężenie za pomocą klawiszy kompozytowe (Podręcznik programowania C#) |
Pokazuje, jak połączyć się z dwóch źródeł na podstawie więcej niż jednego klucza dopasowywania. |
Jak: uporządkowania wyników klauzuli Join (Podręcznik programowania C#) |
Pokazuje, jak zamówienia sekwencji, który jest wytwarzany przez operację sprzężenia. |
Jak: wykonywanie sprzężenia wewnętrzne (C# Programming Guide) |
Pokazuje, jak wykonać sprzężenie wewnętrzne w LINQ. |
Jak: wykonywanie zgrupowane sprzężenia (C# Programming Guide) |
Pokazuje, jak do wyprodukowania zgrupowane sprzężenia w LINQ. |
Jak: wykonywać lewym sprzężenia zewnętrzne (Podręcznik programowania C#) |
Pokazuje, jak do wyprodukowania lewe sprzężenie zewnętrzne, w LINQ. |
Jak: obsługiwać wartości Null w wyrażeniach kwerend (Podręcznik programowania C#) |
Pokazuje, jak obsługiwać wartości null w LINQ kwerend. |
Zobacz też
Zadania
Instruktaż: Zapisywanie kwerendy w języku C# (LINQ)
Koncepcje
Podstawowe operacje kwerendy LINQ (C#)
Składnia zapytania i metody w technologii LINQ (C#)
Omówienie operatory kwerendy standardowe
Inne zasoby
LINQ (zintegrowane języka kwerend)
Słowa kluczowe kwerendy (C# odniesienia)