Wyrażenia kwerend LINQ (Przewodnik programowania w języku C#)
Zapytanie o języku zintegrowanym (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 korzystania z 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 korzystania z 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 Relacje typu w operacjach kwerend LINQ (C#).
Kwerenda nie jest wykonywana, dopóki iteracyjne zmienna kwerendy w foreach instrukcji.Aby uzyskać więcej informacji, zobacz Wprowadzenie do kwerend 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 Standardowe operatory zapytań — Omówienie.
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``1 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.IEnumerablekwerendy są kompilowane do pełnomocników.IQueryablei IQueryable kwerendy są kompilowane do wyrażenia drzewa.Aby uzyskać więcej informacji, zobacz Drzewa wyrażeń (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 |
---|---|
Podstawowe informacje o wyrażeniach kwerend (Przewodnik programowania w języku C#) |
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. |
|
Porady: obsługa wyjątków w wyrażeniach kwerend (Przewodnik programowania w języku 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. |
|
Porady: grupowanie wyników kwerendy (Przewodnik programowania w języku C#) |
Przedstawia różne sposoby używania group klauzuli. |
Porady: tworzenie grup zagnieżdżonych (Przewodnik programowania w języku C#) |
Pokazuje, jak utworzyć grupy zagnieżdżone. |
Porady: wykonanie podzapytania w operacji grupowania (Przewodnik programowania w języku C#) |
Pokazuje, jak użyć wyrażenia podrzędnego w kwerendzie jako Yródło danych dla nowej kwerendy. |
Porady: Grupowanie wyników według ciągłych kluczy (Przewodnik programowania w języku C#) |
Pokazuje, jak zaimplementować operatora wielowątkowość standardowej kwerendy, który może wykonywać operacje grupowania na przesyłanie strumieniowe źródeł danych. |
Pokazuje, jak dostaw dowolnej liczby wartości mają być w porównaniach równości w where klauzuli. |
|
Porady: przechowywanie wyników kwerendy w pamięci (Przewodnik programowania w języku C#) |
Ilustruje sposób zaistniała i przechowywanie wyników kwerendy bez używania niekoniecznie foreach pętli. |
Porady: zwracanie kwerendy z metody (Przewodnik programowania w języku C#) |
Pokazuje, jak zwrócić zmiennych kwerend z metod i jak je przekazać do metod jako parametrów wejściowych. |
Porady: wykonywanie niestandardowych operacji łączenia (Przewodnik programowania w języku C#) |
Pokazuje, jak wykonywać operacje join oparte na jakiejkolwiek funkcji predykatu. |
Porady: sprzęganie za pomocą kluczy złożonych (Przewodnik programowania w języku C#) |
Pokazuje, jak połączyć się z dwóch źródeł na podstawie więcej niż jednego klucza dopasowywania. |
Porady: kolejność wyników klauzuli join (Przewodnik programowania w języku C#) |
Pokazuje, jak zamówienia sekwencji, który jest wytwarzany przez operację sprzężenia. |
Porady: wykonanie sprzężeń wewnętrznych (Przewodnik programowania w języku C#) |
Pokazuje, jak wykonać sprzężenie wewnętrzne w LINQ. |
Porady: wykonanie sprzężeń grupowanych (Przewodnik programowania w języku C#) |
Pokazuje, jak do wyprodukowania zgrupowane sprzężenia w LINQ. |
Porady: wykonanie lewych sprzężeń zewnętrznych (Przewodnik programowania w języku C#) |
Pokazuje, jak do wyprodukowania lewe sprzężenie zewnętrzne, w LINQ. |
Porady: obsługa wartości zerowych w wyrażeniach kwerend (Przewodnik programowania w języku C#) |
Pokazuje, jak obsługiwać wartości null w LINQ kwerend. |
Zobacz też
Zadania
Wskazówki: pisanie zapytań w C# (LINQ)
Koncepcje
Przewodnik programowania w języku C#
Podstawowe operacje kwerend LINQ (C#)
Składnia zapytania i metody w technologii LINQ (C#)
Standardowe operatory zapytań — Omówienie
Inne zasoby
LINQ (zapytania o języku zintegrowanym)
Słowa kluczowe zapytania (odwołanie w C#)