Drzewa wyrażeń - Expression trees w języku C#
Drzewa wyrażeń - kod w strukturze drzewa.
Drzewa wyrażeń reprezentują
kod w strukturze drzewiastej, w której
każdy węzeł opowiada pewnemu
wyrażeniu. Przykładowo może to być zwykłe
wyrażenie x <y, w zależności od wyniku przechodzimy do prawej lub lewej gałęzi drzewa. Drzewa wyrażeń są wykorzystywane w zapytaniach
LINQ do tłumaczenia kodu
C# na kod SQL a także w
wyrażeniach lambda.
Przykładowy kod korzystający z drzewa wyrażeń:
public static void Main()
{
//drzewo wyrażeń
Expression<Func<int, bool>> expr = num => num > 4;
// Kompilacja drzewa
Func<int, bool> result = expr.Compile();
// Wywołanie delegaty i wypisanie na ekranie
Console.WriteLine(result(5));
//Zwraca wartość true
//Sposób uproszczony, kompilacja razem z wywołaniem
Console.WriteLine(expr.Compile()(5));
Console.ReadLine();
}
Więcej informacji na temat drzew wyrażeń:
http://msdn.microsoft.com/pl-pl/library/bb397951.aspx
Komentarze facebook (polub nasz profil na FB aby je zobaczyć):