Vorgehensweise: Berechnen von Zwischenwerten (C#)How to: Calculate Intermediate Values (C#)

In diesem Beispiel wird das Berechnen von Zwischenwerten gezeigt, die zum Sortieren, Filtern und Auswählen verwendet werden können.This example shows how to calculate intermediate values that can be used in sorting, filtering, and selecting.

BeispielExample

Im folgenden Beispiel kommt die Let-Klausel zum Einsatz.The following example uses the Let clause.

In diesem Beispiel wird das folgende XML-Dokument verwendet: Beispiel-XML-Datei: Numerische Daten (LINQ to XML).This example uses the following XML document: Sample XML File: Numerical Data (LINQ to XML).

XElement root = XElement.Load("Data.xml");  
IEnumerable<decimal> extensions =  
    from el in root.Elements("Data")  
    let extension = (decimal)el.Element("Quantity") * (decimal)el.Element("Price")  
    where extension >= 25  
    orderby extension  
    select extension;  
foreach (decimal ex in extensions)  
    Console.WriteLine(ex);  

Dieser Code erzeugt die folgende Ausgabe:This code produces the following output:

55.92  
73.50  
89.99  
198.00  
435.00  

BeispielExample

Im folgenden Beispiel wird dieselbe Abfrage für XML in einem Namespace gezeigt.The following example shows the same query for XML that is in a namespace. Weitere Informationen finden Sie unter Working with XML Namespaces (C#) (Arbeiten mit XML-Namespaces (C#)).For more information, see Working with XML Namespaces (C#).

In diesem Beispiel wird das folgende XML-Dokument verwendet: Beispiel-XML-Datei: Numerische Daten in einem Namespace.This example uses the following XML document: Sample XML File: Numerical Data in a Namespace.

XElement root = XElement.Load("DataInNamespace.xml");  
XNamespace ad = "http://www.adatum.com";  
IEnumerable<decimal> extensions =  
    from el in root.Elements(ad + "Data")  
    let extension = (decimal)el.Element(ad + "Quantity") * (decimal)el.Element(ad + "Price")  
    where extension >= 25  
    orderby extension  
    select extension;  
foreach (decimal ex in extensions)  
    Console.WriteLine(ex);  

Dieser Code erzeugt die folgende Ausgabe:This code produces the following output:

55.92  
73.50  
89.99  
198.00  
435.00  

Siehe auchSee Also

Basic Queries (LINQ to XML) (C#) (Standardabfragen (LINQ to XML) (C#))Basic Queries (LINQ to XML) (C#)