Číst v angličtině

Sdílet prostřednictvím


Výpočet mezilehlých hodnot (LINQ to XML)

Tento článek ukazuje, jak vypočítat přechodné hodnoty pro použití při řazení, filtrování a výběru v jazyce C# a Visual Basic.

Příklad: Použití let klauzule k výpočtu na základě dat prvků

Následující příklad používá klauzuli let k výpočtu součinů číselných hodnot z prvků. Používá ukázkový soubor XML dokumentu XML: Číselná data.

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);

Tento příklad vytvoří následující výstup:

55.92
73.50
89.99
198.00
435.00

Příklad: Výpočet z XML, který je v oboru názvů

Následující příklad ukazuje stejný dotaz jako předtím, ale pro XML, který je v oboru názvů. Používá ukázkový soubor XML dokumentu XML: Číselná data v oboru názvů.

Další informace najdete v tématu Přehled oborů názvů.

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);

Tento příklad vytvoří následující výstup:

55.92
73.50
89.99
198.00
435.00

Viz také