Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln visar hur du beräknar mellanliggande värden för användning vid sortering, filtrering och val i C# och Visual Basic.
Exempel: Använd let -satsen för att beräkna baserat på elementdata
I följande exempel används let -satsen för att beräkna produkter med numeriska värden från element. Den använder XML-dokumentexempel-XML-fil : Numeriska 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);
Dim root As XElement = XElement.Load("Data.xml")
Dim extensions As IEnumerable(Of Decimal) = _
From el In root.<Data> _
Let extension = CDec(el.<Quantity>.Value) * CDec(el.<Price>.Value) _
Where extension > 25 _
Order By extension _
Select extension
For Each ex As Decimal In extensions
Console.WriteLine(ex)
Next
Det här exemplet genererar följande utdata:
55.92
73.50
89.99
198.00
435.00
Exempel: Beräkna från XML som finns i ett namnområde
I följande exempel visas samma fråga som tidigare, men för XML som finns i ett namnområde. Den använder XML-dokumentexempel-XML-filen : Numeriska data i ett namnområde.
Mer information finns i Översikt över namnområden.
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);
Imports <xmlns="http://www.adatum.com">
Module Module1
Sub Main()
Dim root As XElement = XElement.Load("DataInNamespace.xml")
Dim extensions As IEnumerable(Of Decimal) = _
From el In root.<Data> _
Let extension = CDec(el.<Quantity>.Value) * CDec(el.<Price>.Value) _
Where extension > 25 _
Order By extension _
Select extension
For Each ex As Decimal In extensions
Console.WriteLine(ex)
Next
End Sub
End Module
Det här exemplet genererar följande utdata:
55.92
73.50
89.99
198.00
435.00