Training
Module
Bewerkingen uitvoeren op matrices met behulp van helpermethoden in C# - Training
Gebruik C#-helpermethoden om bewerkingen voor reverse-, resize-, splits- en joinbewerkingen uit te voeren op matrices.
Deze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
In dit artikel wordt beschreven hoe uitgestelde uitvoering en luie evaluatie van invloed zijn op de uitvoering van uw LINQ naar XML-query's.
yield return
uitvoering uit te stellenIn het volgende voorbeeld ziet u de volgorde van de uitvoering wanneer u een extensiemethode gebruikt die gebruikmaakt van de uitgestelde uitvoering. In het voorbeeld wordt een matrix van drie tekenreeksen declareren. Vervolgens wordt de verzameling herhaald die wordt geretourneerd door ConvertCollectionToUpperCase
.
public static class LocalExtensions
{
public static IEnumerable<string>
ConvertCollectionToUpperCase(this IEnumerable<string> source)
{
foreach (string str in source)
{
Console.WriteLine("ToUpper: source {0}", str);
yield return str.ToUpper();
}
}
}
class Program
{
static void Main(string[] args)
{
string[] stringArray = { "abc", "def", "ghi" };
var q = from str in stringArray.ConvertCollectionToUpperCase()
select str;
foreach (string str in q)
Console.WriteLine("Main: str {0}", str);
}
}
Imports System.Runtime.CompilerServices
Module Module1
<Extension()>
Private Iterator Function ConvertCollectionToUpperCase(
ByVal source As IEnumerable(Of String)) _
As IEnumerable(Of String)
For Each str As String In source
Console.WriteLine("ToUpper: source {0}", str)
Yield str.ToUpper()
Next
End Function
Sub Main()
Dim stringArray = New String() {"abc", "def", "ghi"}
Dim q = From str In stringArray.ConvertCollectionToUpperCase()
Select str
For Each Str As String In q
Console.WriteLine("Main: str {0}", Str)
Next
End Sub
End Module
In dit voorbeeld wordt de volgende uitvoer gegenereerd:
ToUpper: source abc
Main: str ABC
ToUpper: source def
Main: str DEF
ToUpper: source ghi
Main: str GHI
U ziet dat bij het doorlopen van de verzameling die door ConvertCollectionToUpperCase
wordt geretourneerd, elk item wordt opgehaald uit de brontekenreeksmatrix en wordt geconverteerd naar hoofdletters voordat het volgende item wordt opgehaald uit de bronreeksmatrix.
U kunt zien dat de hele matrix met tekenreeksen niet wordt geconverteerd naar hoofdletters voordat elk item in de geretourneerde verzameling in de lus in Main
de foreach
lus wordt verwerkt.
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven:
Training
Module
Bewerkingen uitvoeren op matrices met behulp van helpermethoden in C# - Training
Gebruik C#-helpermethoden om bewerkingen voor reverse-, resize-, splits- en joinbewerkingen uit te voeren op matrices.
Documentatie
Uitgestelde uitvoering en luie evaluatie - LINQ naar XML - .NET
Meer informatie over de voordelen en vereisten van de uitgestelde uitvoering en hoe u deze implementeert met behulp van query- en asbewerkingen.
Voorbeeld van ketenquery's (C#) - LINQ naar XML - .NET
Ontdek wat er gebeurt wanneer u twee query's koppelt die zowel de uitgestelde uitvoering als de luie evaluatie gebruiken.
Tussenliggende materialisatie (C#) - .NET
Ontdek hoe het gebruik van sommige standaardqueryoperators kan leiden tot materialisatie van verzamelingen in een query en drastisch het geheugen- en prestatieprofiel van uw toepassing kan wijzigen.
Standaardqueryoperators aan elkaar koppelen (C#) - LINQ naar XML - .NET
Informatie over het samenvoegen van queryoperators.