LogExtentCollection Klas

Definitie

Vertegenwoordigt de verzameling LogExtent objecten die zijn gekoppeld aan een LogStore.

public ref class LogExtentCollection sealed : System::Collections::Generic::IEnumerable<System::IO::Log::LogExtent ^>
public sealed class LogExtentCollection : System.Collections.Generic.IEnumerable<System.IO.Log.LogExtent>
type LogExtentCollection = class
    interface seq<LogExtent>
    interface IEnumerable
Public NotInheritable Class LogExtentCollection
Implements IEnumerable(Of LogExtent)
Overname
LogExtentCollection
Implementeringen

Voorbeelden

In dit voorbeeld ziet u hoe u de LogExtent en LogExtentCollection klassen kunt gebruiken om gebieden toe te voegen en te emuleren in een logboekreeks.

using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using System.IO.Log;

namespace MyLogRecordSequence
{
    public class MyLog
    {
        string logName = "test.log";
        string logContainer = "MyExtent0";
        int containerSize = 32 * 1024;
        LogRecordSequence sequence = null;
        bool delete = true;

        // These are used in the TailPinned event handler.
        public static LogRecordSequence MySequence = null;
        public static bool AdvanceBase = true;

        public MyLog()
        {
            // Create a LogRecordSequence.
            sequence = new LogRecordSequence(this.logName,
                                              FileMode.CreateNew,
                                              FileAccess.ReadWrite,
                                              FileShare.None);

            // At least one container/extent must be added for Log Record Sequence.
            sequence.LogStore.Extents.Add(this.logContainer, this.containerSize);

            MySequence = sequence;
        }

        public void AddExtents()
        {
            // Add two additional extents. The extents are
            // of the same size as the first extent.
            sequence.LogStore.Extents.Add("MyExtent1");
            sequence.LogStore.Extents.Add("MyExtent2");
        }

        public void EnumerateExtents()
        {
            LogStore store = sequence.LogStore;

            Console.WriteLine("Enumerating Log Extents...");
            Console.WriteLine("    Extent Count: {0} extents", store.Extents.Count);
            Console.WriteLine("    Extents Are...");
            foreach (LogExtent extent in store.Extents)
            {
                Console.WriteLine("      {0} ({1}, {2})",
                                  Path.GetFileName(extent.Path),
                                  extent.Size,
                                  extent.State);
            }
            Console.WriteLine("    Free Extents: {0} Free", store.Extents.FreeCount);
        }

        public void SetLogPolicy()
        {
            Console.WriteLine();
            Console.WriteLine("Setting current log policy...");

            // SET LOG POLICY

            LogPolicy policy = sequence.LogStore.Policy;

            // Set AutoGrow policy. This enables the log to automatically grow
            // when the existing extents are full. New extents are added until
            // we reach the MaximumExtentCount extents.
            // AutoGrow policy is supported only in Windows Vista and not available in R2.

            //policy.AutoGrow = true;

            // Set the Growth Rate in terms of extents. This policy specifies
            // "how much" the log should grow.
            policy.GrowthRate = new PolicyUnit(2, PolicyUnitType.Extents);

            // Set the AutoShrink policy. This enables the log to automatically
            // shrink if the available free space exceeds the shrink percentage.
            // AutoGrow/shrink policy is supported only in Windows Vista and not available in R2.

            //policy.AutoShrinkPercentage = new PolicyUnit(30, PolicyUnitType.Percentage);

            // Set the PinnedTailThreshold policy.
            // A tail pinned event is triggered when there is no
            // log space available and log space may be freed by advancing the base.
            // The user must handle the tail pinned event by advancing the base of the log.
            // If the user is not able to move the base of the log, the user should report with exception in
            // the tail pinned handler.
            // PinnedTailThreashold policy dictates the amount of space that the TailPinned event requests
            // for advancing the base of the log. The amount of space can be in percentage or in terms of bytes
            // which is rounded off to the nearest containers in CLFS. The default is 35 percent.

            policy.PinnedTailThreshold = new PolicyUnit(10, PolicyUnitType.Percentage);

            // Set the maximum extents the log can have.
            policy.MaximumExtentCount = 6;

            // Set the minimum extents the log can have.
            policy.MinimumExtentCount = 2;

            // Set the prefix for new containers that are added.
            // when AutoGrow is enabled.
            //policy.NewExtentPrefix = "MyLogPrefix";

            // Set the suffix number for new containers that are added.
            // when AutoGrow is enabled.
            policy.NextExtentSuffix = 3;

            // Commit the log policy.
            policy.Commit();

            // Refresh updates the IO.Log policy properties with current log policy
            // set in the log.
            policy.Refresh();

            // LOG POLICY END
            //

            //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            // Setting up IO.Log provided capabilities...
            //

            // SET RETRY APPEND

            // IO.Log provides a mechanism similar to AutoGrow.
            // If the existing log is full and an append fails, setting RetryAppend
            // invokes the CLFS policy engine to add new extents and re-tries
            // record appends. If MaximumExtent count has been reached,
            // a SequenceFullException is thrown.
            //

            sequence.RetryAppend = true;

            // RETRY APPEND END

            // REGISTER FOR TAILPINNED EVENT NOTIFICATIONS

            // Register for TailPinned Event by passing in an event handler.
            // An event is raised when the log full condition is reached.
            // The user should either advance the base sequence number to the
            // nearest valid sequence number recommended in the tail pinned event or
            // report a failure that it is not able to advance the base sequence
            // number.
            //

            sequence.TailPinned += new EventHandler<TailPinnedEventArgs>(HandleTailPinned);

            Console.WriteLine("Done...");
        }

        public void ShowLogPolicy()
        {
            Console.WriteLine();
            Console.WriteLine("Showing current log policy...");

            LogPolicy policy = sequence.LogStore.Policy;

            Console.WriteLine("    Minimum extent count:  {0}", policy.MinimumExtentCount);
            Console.WriteLine("    Maximum extent count:  {0}", policy.MaximumExtentCount);
            Console.WriteLine("    Growth rate:           {0}", policy.GrowthRate);
            Console.WriteLine("    Pinned tail threshold: {0}", policy.PinnedTailThreshold);
            Console.WriteLine("    Auto shrink percent:   {0}", policy.AutoShrinkPercentage);
            Console.WriteLine("    Auto grow enabled:     {0}", policy.AutoGrow);
            Console.WriteLine("    New extent prefix:     {0}", policy.NewExtentPrefix);
            Console.WriteLine("    Next extent suffix:    {0}", policy.NextExtentSuffix);
    }

        // Append records. Appending three records.
        public void AppendRecords()
        {
            Console.WriteLine("Appending Log Records...");
            SequenceNumber previous = SequenceNumber.Invalid;

            previous = sequence.Append(CreateData("Hello World!"), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush);
            previous = sequence.Append(CreateData("This is my first Logging App"), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush);
            previous = sequence.Append(CreateData("Using LogRecordSequence..."), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush);
    
            Console.WriteLine("Done...");
        }

        // Read the records added to the log.
        public void ReadRecords()
        {
            Encoding enc = Encoding.Unicode;

            Console.WriteLine();

            Console.WriteLine("Reading Log Records...");
            try
            {
                foreach (LogRecord record in this.sequence.ReadLogRecords(this.sequence.BaseSequenceNumber, LogRecordEnumeratorType.Next))
                {
                    byte[] data = new byte[record.Data.Length];
                    record.Data.Read(data, 0, (int)record.Data.Length);
                    string mystr = enc.GetString(data);
                    Console.WriteLine("    {0}", mystr);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception {0} {1}", e.GetType(), e.Message);
            }

            Console.WriteLine();
        }

        public void FillLog()
        {
            bool append = true;

            while (append)
            {
                try
                {
                    sequence.Append(CreateData(16 * 1024), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush);
                }

                catch (SequenceFullException)
                {
                    Console.WriteLine("Log is Full...");
                    append = false;
                }
            }
        }

        // Dispose the record sequence and delete the log file.
        public void Cleanup()
        {
            // Dispose the sequence
            sequence.Dispose();

            // Delete the log file.
            if (delete)
            {
                try
                {
                    // This deletes the base log file and all the extents associated with the log.
                    LogStore.Delete(this.logName);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Exception {0} {1}", e.GetType(), e.Message);
                }
            }
        }

        // Converts the given data to an Array of ArraySegment<byte>
        public static IList<ArraySegment<byte>> CreateData(string str)
        {
            Encoding enc = Encoding.Unicode;

            byte[] array = enc.GetBytes(str);

            ArraySegment<byte>[] segments = new ArraySegment<byte>[1];
            segments[0] = new ArraySegment<byte>(array);

            return Array.AsReadOnly<ArraySegment<byte>>(segments);
        }

        public static IList<ArraySegment<byte>> CreateData(int size)
        {
            byte[] array = new byte[size];

            Random rnd = new Random();
            rnd.NextBytes(array);

            ArraySegment<byte>[] segments = new ArraySegment<byte>[1];
            segments[0] = new ArraySegment<byte>(array);

            return Array.AsReadOnly<ArraySegment<byte>>(segments);
        }

        public static SequenceNumber GetAdvanceBaseSeqNumber(SequenceNumber recTargetSeqNum)
        {
            SequenceNumber targetSequenceNumber = SequenceNumber.Invalid;

            Console.WriteLine("Getting actual target sequence number...");

            //
            // Implement the logic for returning a valid sequence number closer to
            // recommended target sequence number.
            //

            return targetSequenceNumber;
        }

        public static void HandleTailPinned(object arg, TailPinnedEventArgs tailPinnedEventArgs)
        {
            Console.WriteLine("TailPinned has fired");

            // Based on the implementation of a logging application, the log base can be moved
            // to free up more log space and if it is not possible to move the
            // base, the application should report by throwing an exception.

            if(MyLog.AdvanceBase)
            {
                try
                {
                    // TailPnnedEventArgs has the recommended sequence number and its generated
                    // based on PinnedTailThreshold policy.
                    // This does not map to an actual sequence number in the record sequence
                    // but an approximation and potentially frees up the threshold % log space
                    // when the log base is advanced to a valid sequence number closer to the
                    // recommended sequence number.
                    // The user should use this sequence number to locate a closest valid sequence
                    // number to advance the base of the log.

                    SequenceNumber recommendedTargetSeqNum = tailPinnedEventArgs.TargetSequenceNumber;

                    // Get the actual Target sequence number.
                    SequenceNumber actualTargetSeqNum = MyLog.GetAdvanceBaseSeqNumber(recommendedTargetSeqNum);

                    MySequence.AdvanceBaseSequenceNumber(actualTargetSeqNum);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Exception thrown {0} {1}", e.GetType(), e.Message);
                }
            }
            else
            {
                // Report back Error if under some conditions the log cannot
                // advance the base sequence number.

                Console.WriteLine("Reporting Error! Unable to move the base sequence number!");
                throw new IOException();
            }
        }
    }

    class LogSample
    {
        static void Main(string[] args)
        {
            // Create log record sequence.
            MyLog log = new MyLog();

            // Add additional extents.
            log.AddExtents();

            // Enumerate the current log extents.
            log.EnumerateExtents();

            // Set log policies and register for TailPinned event notifications.
            log.SetLogPolicy();

            log.ShowLogPolicy();

            // Append a few records and read the appended records.
            log.AppendRecords();
            log.ReadRecords();

            // Fill the Log to trigger log growth...and subsequent TailPinned notifications.
            log.FillLog();

            log.EnumerateExtents();

            log.Cleanup();
        }
    }
}

Imports System.IO
Imports System.Collections.Generic
Imports System.Text
Imports System.IO.Log

Namespace MyLogRecordSequence
    Public Class MyLog
        Private logName As String = "test.log"
        Private logContainer As String = "MyExtent0"
        Private containerSize As Integer = 32 * 1024
        Private sequence As LogRecordSequence = Nothing
        Private delete As Boolean = True

        ' These are used in the TailPinned event handler.
        Public Shared MySequence As LogRecordSequence = Nothing
        Public Shared AdvanceBase As Boolean = True

        Public Sub New()
            ' Create a LogRecordSequence.
            sequence = New LogRecordSequence(Me.logName, FileMode.CreateNew, FileAccess.ReadWrite, FileShare.None)

            ' At least one container/extent must be added for Log Record Sequence.
            sequence.LogStore.Extents.Add(Me.logContainer, Me.containerSize)

            MySequence = sequence

        End Sub

        Public Sub AddExtents()
            ' Add two additional extents. The extents are 
            ' of the same size as the first extent.
            sequence.LogStore.Extents.Add("MyExtent1")
            sequence.LogStore.Extents.Add("MyExtent2")
        End Sub

        Public Sub EnumerateExtents()
            Dim store As LogStore = sequence.LogStore

            Console.WriteLine("Enumerating Log Extents...")
            Console.WriteLine("    Extent Count: {0} extents", store.Extents.Count)
            Console.WriteLine("    Extents Are...")
            For Each extent In store.Extents
                Console.WriteLine("      {0} ({1}, {2})", Path.GetFileName(extent.Path), extent.Size, extent.State)
            Next extent
            Console.WriteLine("    Free Extents: {0} Free", store.Extents.FreeCount)
        End Sub

        Public Sub SetLogPolicy()
            Console.WriteLine()
            Console.WriteLine("Setting current log policy...")

            ' SET LOG POLICY

            Dim policy As LogPolicy = sequence.LogStore.Policy

            ' Set AutoGrow policy. This enables the log to automatically grow
            ' when the existing extents are full. New extents are added until
            ' we reach the MaximumExtentCount extents.
            ' AutoGrow policy is supported only in Windows Vista and not available in R2.

            'policy.AutoGrow = true;

            ' Set the Growth Rate in terms of extents. This policy specifies
            ' "how much" the log should grow. 
            policy.GrowthRate = New PolicyUnit(2, PolicyUnitType.Extents)

            ' Set the AutoShrink policy. This enables the log to automatically
            ' shrink if the available free space exceeds the shrink percentage. 
            ' AutoGrow/shrink policy is supported only in Windows Vista and not available in R2.

            'policy.AutoShrinkPercentage = new PolicyUnit(30, PolicyUnitType.Percentage);

            ' Set the PinnedTailThreshold policy.
            ' A tail pinned event is triggered when there is no
            ' log space available and log space may be freed by advancing the base.
            ' The user must handle the tail pinned event by advancing the base of the log. 
            ' If the user is not able to move the base of the log, the user should report with exception in
            ' the tail pinned handler.
            ' PinnedTailThreashold policy dictates the amount of space that the TailPinned event requests 
            ' for advancing the base of the log. The amount of space can be in percentage or in terms of bytes 
            ' which is rounded off to the nearest containers in CLFS. The default is 35 percent.


            policy.PinnedTailThreshold = New PolicyUnit(10, PolicyUnitType.Percentage)

            ' Set the maximum extents the log can have.
            policy.MaximumExtentCount = 6

            ' Set the minimum extents the log can have.
            policy.MinimumExtentCount = 2

            ' Set the prefix for new containers that are added. 
            ' when AutoGrow is enabled.
            'policy.NewExtentPrefix = "MyLogPrefix";

            ' Set the suffix number for new containers that are added.
            ' when AutoGrow is enabled. 
            policy.NextExtentSuffix = 3

            ' Commit the log policy.
            policy.Commit()

            ' Refresh updates the IO.Log policy properties with current log policy 
            ' set in the log. 
            policy.Refresh()

            ' LOG POLICY END
            ' 

            '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            ' Setting up IO.Log provided capabilities...
            ' 

            ' SET RETRY APPEND

            ' IO.Log provides a mechanism similar to AutoGrow.
            ' If the existing log is full and an append fails, setting RetryAppend
            ' invokes the CLFS policy engine to add new extents and re-tries
            ' record appends. If MaximumExtent count has been reached, 
            ' a SequenceFullException is thrown. 
            ' 

            sequence.RetryAppend = True

            ' RETRY APPEND END

            ' REGISTER FOR TAILPINNED EVENT NOTIFICATIONS

            ' Register for TailPinned Event by passing in an event handler.
            ' An event is raised when the log full condition is reached.
            ' The user should either advance the base sequence number to the 
            ' nearest valid sequence number recommended in the tail pinned event or
            ' report a failure that it is not able to advance the base sequence 
            ' number. 
            '

            AddHandler sequence.TailPinned, AddressOf HandleTailPinned

            Console.WriteLine("Done...")
        End Sub

        Public Sub ShowLogPolicy()
            Console.WriteLine()
            Console.WriteLine("Showing current log policy...")

            Dim policy As LogPolicy = sequence.LogStore.Policy

            Console.WriteLine("    Minimum extent count:  {0}", policy.MinimumExtentCount)
            Console.WriteLine("    Maximum extent count:  {0}", policy.MaximumExtentCount)
            Console.WriteLine("    Growth rate:           {0}", policy.GrowthRate)
            Console.WriteLine("    Pinned tail threshold: {0}", policy.PinnedTailThreshold)
            Console.WriteLine("    Auto shrink percent:   {0}", policy.AutoShrinkPercentage)
            Console.WriteLine("    Auto grow enabled:     {0}", policy.AutoGrow)
            Console.WriteLine("    New extent prefix:     {0}", policy.NewExtentPrefix)
            Console.WriteLine("    Next extent suffix:    {0}", policy.NextExtentSuffix)

        End Sub

        ' Append records. Appending three records.  
        Public Sub AppendRecords()
            Console.WriteLine("Appending Log Records...")
            Dim previous As SequenceNumber = SequenceNumber.Invalid

            previous = sequence.Append(CreateData("Hello World!"), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush)
            previous = sequence.Append(CreateData("This is my first Logging App"), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush)
            previous = sequence.Append(CreateData("Using LogRecordSequence..."), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush)

            Console.WriteLine("Done...")
        End Sub


        ' Read the records added to the log. 
        Public Sub ReadRecords()
            Dim enc As Encoding = Encoding.Unicode

            Console.WriteLine()

            Console.WriteLine("Reading Log Records...")
            Try
                For Each record As LogRecord In Me.sequence.ReadLogRecords(Me.sequence.BaseSequenceNumber, LogRecordEnumeratorType.Next)
                    Dim data(record.Data.Length - 1) As Byte
                    record.Data.Read(data, 0, CInt(Fix(record.Data.Length)))
                    Dim mystr As String = enc.GetString(data)
                    Console.WriteLine("    {0}", mystr)
                Next record
            Catch e As Exception
                Console.WriteLine("Exception {0} {1}", e.GetType(), e.Message)
            End Try

            Console.WriteLine()
        End Sub

        Public Sub FillLog()
            Dim append As Boolean = True

            Do While append
                Try
                    sequence.Append(CreateData(16 * 1024), SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.ForceFlush)

                Catch e1 As SequenceFullException
                    Console.WriteLine("Log is Full...")
                    append = False
                End Try
            Loop
        End Sub

        ' Dispose the record sequence and delete the log file. 
        Public Sub Cleanup()
            ' Dispose the sequence
            sequence.Dispose()

            ' Delete the log file.
            If delete Then
                Try
                    ' This deletes the base log file and all the extents associated with the log.
                    LogStore.Delete(Me.logName)
                Catch e As Exception
                    Console.WriteLine("Exception {0} {1}", e.GetType(), e.Message)
                End Try
            End If
        End Sub

        ' Converts the given data to an Array of ArraySegment<byte> 
        Public Shared Function CreateData(ByVal str As String) As IList(Of ArraySegment(Of Byte))
            Dim enc As Encoding = Encoding.Unicode

            Dim array() As Byte = enc.GetBytes(str)

            Dim segments(0) As ArraySegment(Of Byte)
            segments(0) = New ArraySegment(Of Byte)(array)

            Return System.Array.AsReadOnly(Of ArraySegment(Of Byte))(segments)
        End Function

        Public Shared Function CreateData(ByVal size As Integer) As IList(Of ArraySegment(Of Byte))
            Dim array(size - 1) As Byte

            Dim rand As New Random()
            rand.NextBytes(array)

            Dim segments(0) As ArraySegment(Of Byte)
            segments(0) = New ArraySegment(Of Byte)(array)

            Return System.Array.AsReadOnly(Of ArraySegment(Of Byte))(segments)
        End Function

        Public Shared Function GetAdvanceBaseSeqNumber(ByVal recTargetSeqNum As SequenceNumber) As SequenceNumber
            Dim targetSequenceNumber As SequenceNumber = SequenceNumber.Invalid

            Console.WriteLine("Getting actual target sequence number...")

            ' 
            ' Implement the logic for returning a valid sequence number closer to
            ' recommended target sequence number. 
            '

            Return targetSequenceNumber
        End Function

        Public Shared Sub HandleTailPinned(ByVal arg As Object, ByVal tailPinnedEventArgs As TailPinnedEventArgs)
            Console.WriteLine("TailPinned has fired")

            ' Based on the implementation of a logging application, the log base can be moved
            ' to free up more log space and if it is not possible to move the 
            ' base, the application should report by throwing an exception.

            If MyLog.AdvanceBase Then
                Try
                    ' TailPnnedEventArgs has the recommended sequence number and its generated 
                    ' based on PinnedTailThreshold policy. 
                    ' This does not map to an actual sequence number in the record sequence
                    ' but an approximation and potentially frees up the threshold % log space
                    ' when the log base is advanced to a valid sequence number closer to the 
                    ' recommended sequence number. 
                    ' The user should use this sequence number to locate a closest valid sequence
                    ' number to advance the base of the log.

                    Dim recommendedTargetSeqNum As SequenceNumber = tailPinnedEventArgs.TargetSequenceNumber

                    ' Get the actual Target sequence number.
                    Dim actualTargetSeqNum As SequenceNumber = MyLog.GetAdvanceBaseSeqNumber(recommendedTargetSeqNum)

                    MySequence.AdvanceBaseSequenceNumber(actualTargetSeqNum)
                Catch e As Exception
                    Console.WriteLine("Exception thrown {0} {1}", e.GetType(), e.Message)
                End Try
            Else
                ' Report back Error if under some conditions the log cannot
                ' advance the base sequence number.

                Console.WriteLine("Reporting Error! Unable to move the base sequence number!")
                Throw New IOException()
            End If
        End Sub
    End Class

    Friend Class LogSample
        Shared Sub Main(ByVal args() As String)
            ' Create log record sequence.
            Dim log As New MyLog()

            ' Add additional extents.
            log.AddExtents()

            ' Enumerate the current log extents.
            log.EnumerateExtents()

            ' Set log policies and register for TailPinned event notifications. 
            log.SetLogPolicy()

            log.ShowLogPolicy()

            ' Append a few records and read the appended records. 
            log.AppendRecords()
            log.ReadRecords()

            ' Fill the Log to trigger log growth...and subsequent TailPinned notifications.
            log.FillLog()

            log.EnumerateExtents()

            log.Cleanup()
        End Sub
    End Class
End Namespace

Opmerkingen

Deze klasse bevat een verzameling LogExtent objecten die zijn gekoppeld aan een LogStore. In LogStore een exemplaar worden de gegevens opgeslagen in een verzameling schijflengten, vertegenwoordigd door LogExtent exemplaren. Een bepaalde LogExtent is gekoppeld aan één LogStoreen LogExtent objecten in hetzelfde LogStore object hebben dezelfde grootte. Er wordt ruimte toegevoegd aan en verwijderd uit een LogStore exemplaar in stappen.

Hoewel LogExtent objecten op schijf worden weergegeven als bestanden, mogen ze niet worden verplaatst of verwijderd als normale bestanden. In plaats daarvan moet u de methoden van deze klasse gebruiken om exemplaren rechtstreeks toe te voegen en te LogExtent verwijderen. Gebieden worden meestal verwijderd wanneer ze geen actieve gegevens meer bevatten. Als de force parameter in de Remove methode echter is true, wordt er een uitzondering gegenereerd als deze niet onmiddellijk kunnen worden verwijderd.

U kunt de laatste mate in het LogExtentCollectiongedeelte niet verwijderen, wat betekent dat de Count eigenschap niet nul kan zijn nadat een bepaalde mate is toegevoegd.

Eigenschappen

Name Description
Count

Hiermee haalt u het aantal logboeken in de verzameling op.

FreeCount

Hiermee haalt u het aantal gratis LogExtent exemplaren in de verzameling op, dat wil gezegd het aantal LogExtent exemplaren dat geen gegevens bevat.

Methoden

Name Description
Add(String, Int64)

Hiermee maakt u een nieuwe LogExtent met de opgegeven grootte en voegt u deze toe aan de verzameling.

Add(String)

Voegt een LogExtent exemplaar toe aan de verzameling.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetEnumerator()

Hiermee haalt u een opsomming op voor de LogExtent exemplaren in deze verzameling. Deze methode kan niet worden overgenomen.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
Remove(LogExtent, Boolean)

Hiermee verwijdert u het opgegeven LogExtent exemplaar uit de verzameling.

Remove(String, Boolean)

Hiermee verwijdert u het LogExtent exemplaar met het opgegeven pad uit de verzameling.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
IEnumerable.GetEnumerator()

Hiermee haalt u een opsomming op voor de LogExtent exemplaren in deze verzameling. Deze methode kan niet worden overgenomen.

Extensiemethoden

Name Description
Aggregate<TSource,TAccumulate,TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate,TResult>)

Hiermee past u een accumulatorfunctie toe op een reeks. De opgegeven seed-waarde wordt gebruikt als de initiële accumulatorwaarde en de opgegeven functie wordt gebruikt om de resultaatwaarde te selecteren.

Aggregate<TSource,TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>)

Hiermee past u een accumulatorfunctie toe op een reeks. De opgegeven seed-waarde wordt gebruikt als de initiële accumulatorwaarde.

Aggregate<TSource>(IEnumerable<TSource>, Func<TSource,TSource,TSource>)

Hiermee past u een accumulatorfunctie toe op een reeks.

All<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Bepaalt of alle elementen van een reeks aan een voorwaarde voldoen.

Ancestors<T>(IEnumerable<T>, XName)

Retourneert een gefilterde verzameling elementen die de bovenliggende elementen van elk knooppunt in de bronverzameling bevat. Alleen elementen die een overeenkomst XName hebben, worden opgenomen in de verzameling.

Ancestors<T>(IEnumerable<T>)

Retourneert een verzameling elementen die de bovenliggende elementen van elk knooppunt in de bronverzameling bevat.

Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Bepaalt of een element van een reeks voldoet aan een voorwaarde.

Any<TSource>(IEnumerable<TSource>)

Bepaalt of een reeks elementen bevat.

Append<TSource>(IEnumerable<TSource>, TSource)

Voegt een waarde toe aan het einde van de reeks.

AsEnumerable<TSource>(IEnumerable<TSource>)

Retourneert de invoer die is getypt als IEnumerable<T>.

AsParallel(IEnumerable)

Hiermee schakelt u parallelle uitvoering van een query in.

AsParallel<TSource>(IEnumerable<TSource>)

Hiermee schakelt u parallelle uitvoering van een query in.

AsQueryable(IEnumerable)

Converteert een IEnumerable naar een IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Converteert een algemeen IEnumerable<T> naar een algemeen IQueryable<T>.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Berekent het gemiddelde van een reeks Decimal waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Berekent het gemiddelde van een reeks Double waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Berekent het gemiddelde van een reeks Int32 waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Berekent het gemiddelde van een reeks Int64 waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Berekent het gemiddelde van een reeks null-waarden Decimal die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Berekent het gemiddelde van een reeks null-waarden Double die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Berekent het gemiddelde van een reeks null-waarden Int32 die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Berekent het gemiddelde van een reeks null-waarden Int64 die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Berekent het gemiddelde van een reeks null-waarden Single die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Berekent het gemiddelde van een reeks Single waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Cast<TResult>(IEnumerable)

Cast de elementen van een IEnumerable naar het opgegeven type.

Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Voegt twee reeksen samen.

Contains<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>)

Bepaalt of een reeks een opgegeven element bevat met behulp van een opgegeven IEqualityComparer<T>.

Contains<TSource>(IEnumerable<TSource>, TSource)

Bepaalt of een reeks een opgegeven element bevat met behulp van de standaard gelijkheidsgelijker.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Hiermee kopieert u DataRow objecten naar de opgegeven DataTable, op basis van een invoerobject IEnumerable<T> waarbij de algemene parameter T zich bevindt DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Hiermee kopieert u DataRow objecten naar de opgegeven DataTable, op basis van een invoerobject IEnumerable<T> waarbij de algemene parameter T zich bevindt DataRow.

CopyToDataTable<T>(IEnumerable<T>)

Retourneert een DataTable object dat kopieën van de DataRow objecten bevat, op basis van een invoerobject IEnumerable<T> waarin de algemene parameter T zich bevindt DataRow.

Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retourneert een getal dat aangeeft hoeveel elementen in de opgegeven reeks voldoen aan een voorwaarde.

Count<TSource>(IEnumerable<TSource>)

Retourneert het aantal elementen in een reeks.

DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource)

Retourneert de elementen van de opgegeven reeks of de opgegeven waarde in een singletonverzameling als de reeks leeg is.

DefaultIfEmpty<TSource>(IEnumerable<TSource>)

Retourneert de elementen van de opgegeven reeks of de standaardwaarde van de typeparameter in een singletonverzameling als de reeks leeg is.

DescendantNodes<T>(IEnumerable<T>)

Retourneert een verzameling van de onderliggende knooppunten van elk document en element in de bronverzameling.

Descendants<T>(IEnumerable<T>, XName)

Retourneert een gefilterde verzameling elementen die de onderliggende elementen van elk element en document in de bronverzameling bevat. Alleen elementen die een overeenkomst XName hebben, worden opgenomen in de verzameling.

Descendants<T>(IEnumerable<T>)

Retourneert een verzameling elementen die de onderliggende elementen van elk element en document in de bronverzameling bevat.

Distinct<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

Retourneert afzonderlijke elementen uit een reeks met behulp van een opgegeven IEqualityComparer<T> om waarden te vergelijken.

Distinct<TSource>(IEnumerable<TSource>)

Retourneert afzonderlijke elementen uit een reeks met behulp van de standaard gelijkheidsgelijker om waarden te vergelijken.

ElementAt<TSource>(IEnumerable<TSource>, Int32)

Retourneert het element in een opgegeven index in een reeks.

ElementAtOrDefault<TSource>(IEnumerable<TSource>, Int32)

Retourneert het element in een opgegeven index in een reeks of een standaardwaarde als de index buiten het bereik valt.

Elements<T>(IEnumerable<T>, XName)

Retourneert een gefilterde verzameling van de onderliggende elementen van elk element en document in de bronverzameling. Alleen elementen die een overeenkomst XName hebben, worden opgenomen in de verzameling.

Elements<T>(IEnumerable<T>)

Retourneert een verzameling onderliggende elementen van elk element en document in de bronverzameling.

Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Produceert het setverschil van twee reeksen door de opgegeven IEqualityComparer<T> waarden te vergelijken.

Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Produceert het setverschil van twee reeksen met behulp van de standaard gelijkheidsgelijker om waarden te vergelijken.

First<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retourneert het eerste element in een reeks die voldoet aan een opgegeven voorwaarde.

First<TSource>(IEnumerable<TSource>)

Retourneert het eerste element van een reeks.

FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retourneert het eerste element van de reeks die voldoet aan een voorwaarde of een standaardwaarde als er geen dergelijk element wordt gevonden.

FirstOrDefault<TSource>(IEnumerable<TSource>)

Retourneert het eerste element van een reeks of een standaardwaarde als de reeks geen elementen bevat.

GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)

Groepeer de elementen van een reeks op basis van een opgegeven sleutelkiezerfunctie en maakt een resultaatwaarde van elke groep en de bijbehorende sleutel. Sleutelwaarden worden vergeleken met behulp van een opgegeven vergelijkingsfunctie en de elementen van elke groep worden geprojecteerd met behulp van een opgegeven functie.

GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>,TResult>)

Groepeer de elementen van een reeks op basis van een opgegeven sleutelkiezerfunctie en maakt een resultaatwaarde van elke groep en de bijbehorende sleutel. De elementen van elke groep worden geprojecteerd met behulp van een opgegeven functie.

GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Hiermee worden de elementen van een reeks gegroepeerd op basis van een sleutelkiezerfunctie. De sleutels worden vergeleken met behulp van een vergelijkingsfunctie en de elementen van elke groep worden geprojecteerd met behulp van een opgegeven functie.

GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Groepeert de elementen van een reeks op basis van een opgegeven sleutelkiezerfunctie en projecteert de elementen voor elke groep met behulp van een opgegeven functie.

GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>, IEqualityComparer<TKey>)

Groepeer de elementen van een reeks op basis van een opgegeven sleutelkiezerfunctie en maakt een resultaatwaarde van elke groep en de bijbehorende sleutel. De sleutels worden vergeleken met behulp van een opgegeven vergelijkingsfunctie.

GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>)

Groepeer de elementen van een reeks op basis van een opgegeven sleutelkiezerfunctie en maakt een resultaatwaarde van elke groep en de bijbehorende sleutel.

GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Groepeert de elementen van een reeks op basis van een opgegeven sleutelkiezerfunctie en vergelijkt de sleutels met behulp van een opgegeven vergelijkingsfunctie.

GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Hiermee worden de elementen van een reeks gegroepeerd op basis van een opgegeven sleutelkiezerfunctie.

GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

Correleert de elementen van twee reeksen op basis van sleutel gelijkheid en groepeert de resultaten. Een opgegeven IEqualityComparer<T> wordt gebruikt om sleutels te vergelijken.

GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>)

Correleert de elementen van twee reeksen op basis van gelijkheid van sleutels en groepeert de resultaten. De standaard gelijkheidsgelijker wordt gebruikt om sleutels te vergelijken.

InDocumentOrder<T>(IEnumerable<T>)

Retourneert een verzameling knooppunten die alle knooppunten in de bronverzameling bevat, gesorteerd in documentvolgorde.

Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Produceert het snijpunt van twee reeksen met behulp van het opgegeven om IEqualityComparer<T> waarden te vergelijken.

Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Produceert het set snijpunt van twee reeksen met behulp van de standaard gelijkheidsgelijker om waarden te vergelijken.

Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>)

Correleert de elementen van twee reeksen op basis van overeenkomende sleutels. Een opgegeven IEqualityComparer<T> wordt gebruikt om sleutels te vergelijken.

Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>)

Correleert de elementen van twee reeksen op basis van overeenkomende sleutels. De standaard gelijkheidsgelijker wordt gebruikt om sleutels te vergelijken.

Last<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retourneert het laatste element van een reeks die voldoet aan een opgegeven voorwaarde.

Last<TSource>(IEnumerable<TSource>)

Retourneert het laatste element van een reeks.

LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retourneert het laatste element van een reeks die voldoet aan een voorwaarde of een standaardwaarde als er geen dergelijk element wordt gevonden.

LastOrDefault<TSource>(IEnumerable<TSource>)

Retourneert het laatste element van een reeks of een standaardwaarde als de reeks geen elementen bevat.

LongCount<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retourneert een Int64 waarde die aangeeft hoeveel elementen in een reeks voldoen aan een voorwaarde.

LongCount<TSource>(IEnumerable<TSource>)

Retourneert een Int64 waarde die het totale aantal elementen in een reeks vertegenwoordigt.

Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Roept een transformatiefunctie aan op elk element van een algemene reeks en retourneert de maximum resulterende waarde.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximumwaarde Decimal .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximumwaarde Double .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximumwaarde Int32 .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximumwaarde Int64 .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximaal null-waarde Decimal .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximaal null-waarde Double .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximaal null-waarde Int32 .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximaal null-waarde Int64 .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximaal null-waarde Single .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximumwaarde Single .

Max<TSource>(IEnumerable<TSource>)

Retourneert de maximumwaarde in een algemene reeks.

Min<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Roept een transformatiefunctie aan op elk element van een algemene reeks en retourneert de minimum resulterende waarde.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimumwaarde Decimal .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimumwaarde Double .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimumwaarde Int32 .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimumwaarde Int64 .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimaal null-waarde Decimal .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimaal null-waarde Double .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimaal null-waarde Int32 .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimaal null-waarde Int64 .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimaal null-waarde Single .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimumwaarde Single .

Min<TSource>(IEnumerable<TSource>)

Retourneert de minimumwaarde in een algemene reeks.

Nodes<T>(IEnumerable<T>)

Retourneert een verzameling van de onderliggende knooppunten van elk document en element in de bronverzameling.

OfType<TResult>(IEnumerable)

Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type.

OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Hiermee sorteert u de elementen van een reeks in oplopende volgorde met behulp van een opgegeven vergelijkingsfunctie.

OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Sorteert de elementen van een reeks in oplopende volgorde op basis van een sleutel.

OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Hiermee sorteert u de elementen van een reeks in aflopende volgorde met behulp van een opgegeven vergelijkingsfunctie.

OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Sorteert de elementen van een reeks in aflopende volgorde op basis van een sleutel.

Prepend<TSource>(IEnumerable<TSource>, TSource)

Voegt een waarde toe aan het begin van de reeks.

Remove<T>(IEnumerable<T>)

Hiermee verwijdert u elk knooppunt in de bronverzameling van het bovenliggende knooppunt.

Reverse<TSource>(IEnumerable<TSource>)

Hiermee wordt de volgorde van de elementen in een reeks omgedraaid.

Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,TResult>)

Projecteert elk element van een reeks in een nieuw formulier door de index van het element op te nemen.

Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Projecteert elk element van een reeks in een nieuwe vorm.

SelectMany<TSource,TCollection,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>)

Projecteert elk element van een reeks naar een IEnumerable<T>, plat de resulterende reeksen in één reeks en roept een resultaatselectorfunctie aan op elk element daarin.

SelectMany<TSource,TCollection,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>)

Projecteert elk element van een reeks naar een IEnumerable<T>, plat de resulterende reeksen in één reeks en roept een resultaatselectorfunctie aan op elk element daarin. De index van elk bronelement wordt gebruikt in de tussenliggende projectvorm van dat element.

SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TResult>>)

Projecteert elk element van een reeks naar een IEnumerable<T> en plat de resulterende reeksen in één reeks.

SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TResult>>)

Projecteert elk element van een reeks op een IEnumerable<T>, en plat de resulterende reeksen in één reeks. De index van elk bronelement wordt gebruikt in de verwachte vorm van dat element.

SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Bepaalt of twee reeksen gelijk zijn door hun elementen te vergelijken met behulp van een opgegeven IEqualityComparer<T>.

SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Bepaalt of twee reeksen gelijk zijn door de elementen te vergelijken met behulp van de standaard gelijkheidsgelijker voor hun type.

Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retourneert het enige element van een reeks die voldoet aan een opgegeven voorwaarde en genereert een uitzondering als er meer dan één dergelijk element bestaat.

Single<TSource>(IEnumerable<TSource>)

Retourneert het enige element van een reeks en genereert een uitzondering als er niet precies één element in de reeks is.

SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retourneert het enige element van een reeks die voldoet aan een opgegeven voorwaarde of een standaardwaarde als er geen dergelijk element bestaat; met deze methode wordt een uitzondering gegenereerd als meer dan één element voldoet aan de voorwaarde.

SingleOrDefault<TSource>(IEnumerable<TSource>)

Retourneert het enige element van een reeks of een standaardwaarde als de reeks leeg is; met deze methode wordt een uitzondering gegenereerd als er meer dan één element in de reeks staat.

Skip<TSource>(IEnumerable<TSource>, Int32)

Slaat een opgegeven aantal elementen in een reeks over en retourneert vervolgens de resterende elementen.

SkipLast<TSource>(IEnumerable<TSource>, Int32)

Retourneert een nieuwe enumerable verzameling die de elementen bevat waaruit source de laatste count elementen van de bronverzameling zijn weggelaten.

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Omzeilt elementen in een reeks zolang een opgegeven voorwaarde waar is en retourneert vervolgens de resterende elementen.

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Omzeilt elementen in een reeks zolang een opgegeven voorwaarde waar is en retourneert vervolgens de resterende elementen. De index van het element wordt gebruikt in de logica van de predicaatfunctie.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Berekent de som van de reeks Decimal waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Berekent de som van de reeks Double waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Berekent de som van de reeks Int32 waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Berekent de som van de reeks Int64 waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Berekent de som van de reeks null-waarden Decimal die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Berekent de som van de reeks null-waarden Double die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Berekent de som van de reeks null-waarden Int32 die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Berekent de som van de reeks null-waarden Int64 die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Berekent de som van de reeks null-waarden Single die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Berekent de som van de reeks Single waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Take<TSource>(IEnumerable<TSource>, Int32)

Retourneert een opgegeven aantal aaneengesloten elementen vanaf het begin van een reeks.

TakeLast<TSource>(IEnumerable<TSource>, Int32)

Retourneert een nieuwe enumerable verzameling die de laatste count elementen van sourcebevat.

TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retourneert elementen uit een reeks zolang een opgegeven voorwaarde waar is.

TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Retourneert elementen uit een reeks zolang een opgegeven voorwaarde waar is. De index van het element wordt gebruikt in de logica van de predicaatfunctie.

ToArray<TSource>(IEnumerable<TSource>)

Hiermee maakt u een matrix van een IEnumerable<T>.

ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Hiermee maakt u een Dictionary<TKey,TValue> van een IEnumerable<T> op basis van een opgegeven sleutelkiezerfunctie, een vergelijkingsfunctie en een elementselectorfunctie.

ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Hiermee maakt u een Dictionary<TKey,TValue> van een op basis van de IEnumerable<T> opgegeven sleutelkiezer- en elementselectorfuncties.

ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Hiermee maakt u een Dictionary<TKey,TValue> van een IEnumerable<T> op basis van een opgegeven sleutelkiezerfunctie en sleutelkiezer.

ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Hiermee maakt u een Dictionary<TKey,TValue> van een IEnumerable<T> op basis van een opgegeven sleutelkiezerfunctie.

ToHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

Hiermee maakt u een HashSet<T> van een IEnumerable<T> met behulp van de comparer sleutels om sleutels te vergelijken.

ToHashSet<TSource>(IEnumerable<TSource>)

Hiermee maakt u een HashSet<T> van een IEnumerable<T>.

ToList<TSource>(IEnumerable<TSource>)

Hiermee maakt u een List<T> van een IEnumerable<T>.

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Hiermee maakt u een Lookup<TKey,TElement> van een IEnumerable<T> op basis van een opgegeven sleutelkiezerfunctie, een vergelijkingsfunctie en een elementselectorfunctie.

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Hiermee maakt u een Lookup<TKey,TElement> van een op basis van de IEnumerable<T> opgegeven sleutelkiezer- en elementselectorfuncties.

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Hiermee maakt u een Lookup<TKey,TElement> van een IEnumerable<T> op basis van een opgegeven sleutelkiezerfunctie en sleutelkiezer.

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Hiermee maakt u een Lookup<TKey,TElement> van een IEnumerable<T> op basis van een opgegeven sleutelkiezerfunctie.

Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Produceert de set-samenvoeging van twee reeksen met behulp van een opgegeven IEqualityComparer<T>.

Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Produceert de set-samenvoeging van twee reeksen met behulp van de standaard gelijkheidsgelijker.

Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Hiermee filtert u een reeks waarden op basis van een predicaat.

Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Hiermee filtert u een reeks waarden op basis van een predicaat. De index van elk element wordt gebruikt in de logica van de predicaatfunctie.

Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>)

Hiermee past u een opgegeven functie toe op de bijbehorende elementen van twee reeksen, waardoor een reeks resultaten wordt geproduceerd.

Van toepassing op

Zie ook