LogExtentCollection Kelas

Definisi

Mewakili kumpulan LogExtent objek yang terkait dengan 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)
Warisan
LogExtentCollection
Penerapan

Contoh

Contoh ini menunjukkan cara menggunakan LogExtent kelas dan LogExtentCollection untuk menambahkan dan meniru jangkauan dalam urutan log.

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

Keterangan

Kelas ini berisi kumpulan LogExtent objek yang terkait dengan LogStore. Instans LogStore menyimpan datanya dalam kumpulan tingkat disk, yang diwakili oleh LogExtent instans. Khususnya LogExtent dikaitkan dengan satu LogStore, dan LogExtent objek dalam ukuran yang sama LogStore . Ruang ditambahkan ke dan dihapus dari LogStore instans dalam kenaikan jangkauan.

Meskipun LogExtent objek diwakili pada disk sebagai file, objek tidak boleh dipindahkan atau dihapus sebagai file normal. Sebaliknya, Anda harus menggunakan metode yang disediakan oleh kelas ini untuk menambahkan dan menghapus LogExtent instans secara langsung. Jangkauan biasanya dihapus ketika tidak lagi berisi data aktif. Namun, jika force parameter dalam Remove metode adalah true, pengecualian dilemparkan jika tidak dapat segera dihapus.

Anda tidak dapat menghapus tingkat terakhir dalam LogExtentCollection, yang berarti bahwa Count properti tidak boleh nol setelah jangkauan ditambahkan.

Properti

Count

Mendapatkan jumlah jangkauan log dalam koleksi.

FreeCount

Mendapatkan jumlah instans gratis LogExtent dalam koleksi, yaitu jumlah LogExtent instans yang tidak berisi data apa pun.

Metode

Add(String)

Menambahkan instans LogExtent ke koleksi.

Add(String, Int64)

Membuat baru LogExtent dengan ukuran yang ditentukan dan menambahkannya ke koleksi.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetEnumerator()

Mendapatkan enumerator untuk LogExtent instans dalam koleksi ini. Metode ini tidak dapat diwariskan.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
Remove(LogExtent, Boolean)

Menghapus instans yang ditentukan LogExtent dari koleksi.

Remove(String, Boolean)

Menghapus instans LogExtent dengan jalur yang ditentukan dari koleksi.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

IEnumerable.GetEnumerator()

Mendapatkan enumerator untuk LogExtent instans dalam koleksi ini. Metode ini tidak dapat diwariskan.

Metode Ekstensi

CopyToDataTable<T>(IEnumerable<T>)

DataTable Mengembalikan yang berisi salinan DataRow objek, mengingat objek input IEnumerable<T> di mana parameter T generik adalah DataRow.

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

DataRow Menyalin objek ke objek yang ditentukan DataTable, mengingat objek input IEnumerable<T> di mana parameter T generik adalah DataRow.

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

DataRow Menyalin objek ke objek yang ditentukan DataTable, mengingat objek input IEnumerable<T> di mana parameter T generik adalah DataRow.

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

Menerapkan fungsi akumulator secara berurutan.

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

Menerapkan fungsi akumulator secara berurutan. Nilai seed yang ditentukan digunakan sebagai nilai akumulator awal.

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

Menerapkan fungsi akumulator secara berurutan. Nilai seed yang ditentukan digunakan sebagai nilai akumulator awal, dan fungsi yang ditentukan digunakan untuk memilih nilai hasil.

AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>)

Mewakili kumpulan LogExtent objek yang terkait dengan LogStore.

AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TKey,TAccumulate>, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>)

Mewakili kumpulan LogExtent objek yang terkait dengan LogStore.

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

Menentukan apakah semua elemen urutan memenuhi suatu kondisi.

Any<TSource>(IEnumerable<TSource>)

Menentukan apakah urutan berisi elemen apa pun.

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

Menentukan apakah ada elemen urutan yang memenuhi kondisi.

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

Menambahkan nilai ke akhir urutan.

AsEnumerable<TSource>(IEnumerable<TSource>)

Menghasilkan input yang diketik sebagai IEnumerable<T>.

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

Menghitung rata-rata urutan Decimal nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung rata-rata urutan Double nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung rata-rata urutan Int32 nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung rata-rata urutan Int64 nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung rata-rata urutan nilai nullable Decimal yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung rata-rata urutan nilai nullable Double yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung rata-rata urutan nilai nullable Int32 yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung rata-rata urutan nilai nullable Int64 yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung rata-rata urutan nilai nullable Single yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung rata-rata urutan Single nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari ke IEnumerable jenis yang ditentukan.

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

Membagi elemen urutan menjadi potongan ukuran paling banyak size.

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

Menggabungkan dua urutan.

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

Menentukan apakah urutan berisi elemen tertentu dengan menggunakan perbandingan kesetaraan default.

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

Menentukan apakah urutan berisi elemen tertentu dengan menggunakan IEqualityComparer<T>.

Count<TSource>(IEnumerable<TSource>)

Mengembalikan jumlah elemen secara berurutan.

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

Mengembalikan angka yang menunjukkan berapa banyak elemen dalam urutan yang ditentukan memenuhi kondisi.

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

Mewakili kumpulan LogExtent objek yang terkait dengan LogStore.

DefaultIfEmpty<TSource>(IEnumerable<TSource>)

Mengembalikan elemen urutan yang ditentukan atau nilai default parameter jenis dalam koleksi database tunggal jika urutannya kosong.

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

Mengembalikan elemen urutan yang ditentukan atau nilai yang ditentukan dalam koleksi singleton jika urutannya kosong.

Distinct<TSource>(IEnumerable<TSource>)

Mengembalikan elemen yang berbeda dari urutan dengan menggunakan perbandingan kesetaraan default untuk membandingkan nilai.

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

Mengembalikan elemen yang berbeda dari urutan dengan menggunakan yang ditentukan untuk membandingkan IEqualityComparer<T> nilai.

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

Mengembalikan elemen yang berbeda dari urutan sesuai dengan fungsi pemilih kunci tertentu.

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

Mengembalikan elemen yang berbeda dari urutan sesuai dengan fungsi pemilih kunci tertentu dan menggunakan perbandingan yang ditentukan untuk membandingkan kunci.

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

Mengembalikan elemen pada indeks tertentu secara berurutan.

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

Mengembalikan elemen pada indeks tertentu secara berurutan.

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

Mengembalikan elemen pada indeks tertentu secara berurutan atau nilai default jika indeks berada di luar rentang.

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

Mengembalikan elemen pada indeks tertentu secara berurutan atau nilai default jika indeks berada di luar rentang.

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

Menghasilkan perbedaan yang ditetapkan dari dua urutan dengan menggunakan perbandingan kesetaraan default untuk membandingkan nilai.

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

Menghasilkan perbedaan yang ditetapkan dari dua urutan dengan menggunakan yang ditentukan untuk membandingkan IEqualityComparer<T> nilai.

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

Menghasilkan perbedaan yang ditetapkan dari dua urutan sesuai dengan fungsi pemilih kunci tertentu.

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

Menghasilkan perbedaan yang ditetapkan dari dua urutan sesuai dengan fungsi pemilih kunci tertentu.

First<TSource>(IEnumerable<TSource>)

Mengembalikan elemen pertama dari urutan.

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

Mengembalikan elemen pertama dalam urutan yang memenuhi kondisi tertentu.

FirstOrDefault<TSource>(IEnumerable<TSource>)

Mengembalikan elemen pertama dari urutan, atau nilai default jika urutan tidak berisi elemen.

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

Mengembalikan elemen pertama dari urutan, atau nilai default yang ditentukan jika urutan tidak berisi elemen.

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

Mengembalikan elemen pertama dari urutan yang memenuhi kondisi atau nilai default jika tidak ada elemen tersebut yang ditemukan.

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

Mengembalikan elemen pertama dari urutan yang memenuhi kondisi, atau nilai default yang ditentukan jika tidak ada elemen tersebut yang ditemukan.

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

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu.

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

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu dan membandingkan kunci dengan menggunakan perbandingan yang ditentukan.

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

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu dan memproyeksikan elemen untuk setiap grup dengan menggunakan fungsi tertentu.

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

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci. Kunci dibandingkan dengan menggunakan pembanding dan elemen setiap grup diproyeksikan dengan menggunakan fungsi yang ditentukan.

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

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu dan membuat nilai hasil dari setiap grup dan kuncinya.

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

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu dan membuat nilai hasil dari setiap grup dan kuncinya. Kunci dibandingkan dengan menggunakan pembanding tertentu.

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

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu dan membuat nilai hasil dari setiap grup dan kuncinya. Elemen dari setiap grup diproyeksikan dengan menggunakan fungsi tertentu.

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

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu dan membuat nilai hasil dari setiap grup dan kuncinya. Nilai kunci dibandingkan dengan menggunakan perbandingan tertentu, dan elemen setiap grup diproyeksikan dengan menggunakan fungsi tertentu.

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

Menghubungkan elemen dari dua urutan berdasarkan kesetaraan kunci dan mengelompokkan hasilnya. Perbandingan kesetaraan default digunakan untuk membandingkan kunci.

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

Menghubungkan elemen dari dua urutan berdasarkan kesetaraan kunci dan mengelompokkan hasilnya. Yang ditentukan IEqualityComparer<T> digunakan untuk membandingkan kunci.

Index<TSource>(IEnumerable<TSource>)

Mewakili kumpulan LogExtent objek yang terkait dengan LogStore.

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

Menghasilkan persimpangan yang ditetapkan dari dua urutan dengan menggunakan perbandingan kesetaraan default untuk membandingkan nilai.

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

Menghasilkan persimpangan yang ditetapkan dari dua urutan dengan menggunakan yang ditentukan untuk membandingkan IEqualityComparer<T> nilai.

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

Menghasilkan persimpangan yang ditetapkan dari dua urutan sesuai dengan fungsi pemilih kunci tertentu.

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

Menghasilkan persimpangan yang ditetapkan dari dua urutan sesuai dengan fungsi pemilih kunci tertentu.

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

Menghubungkan elemen dari dua urutan berdasarkan kunci yang cocok. Perbandingan kesetaraan default digunakan untuk membandingkan kunci.

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

Menghubungkan elemen dari dua urutan berdasarkan kunci yang cocok. Yang ditentukan IEqualityComparer<T> digunakan untuk membandingkan kunci.

Last<TSource>(IEnumerable<TSource>)

Mengembalikan elemen terakhir dari urutan.

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

Mengembalikan elemen terakhir dari urutan yang memenuhi kondisi tertentu.

LastOrDefault<TSource>(IEnumerable<TSource>)

Mengembalikan elemen terakhir dari urutan, atau nilai default jika urutan tidak berisi elemen.

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

Mengembalikan elemen terakhir dari urutan, atau nilai default yang ditentukan jika urutan tidak berisi elemen.

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

Mengembalikan elemen terakhir dari urutan yang memenuhi kondisi atau nilai default jika tidak ada elemen tersebut yang ditemukan.

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

Mengembalikan elemen terakhir dari urutan yang memenuhi kondisi, atau nilai default yang ditentukan jika tidak ada elemen tersebut yang ditemukan.

LongCount<TSource>(IEnumerable<TSource>)

Mengembalikan yang Int64 menunjukkan jumlah total elemen dalam urutan.

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

Mengembalikan yang Int64 menunjukkan berapa banyak elemen dalam urutan yang memenuhi kondisi.

Max<TSource>(IEnumerable<TSource>)

Mengembalikan nilai maksimum dalam urutan generik.

Max<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Mengembalikan nilai maksimum dalam urutan generik.

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum Decimal .

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum Double .

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum Int32 .

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum Int64 .

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum yang dapat diubah ke Decimal null.

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum yang dapat diubah ke Double null.

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum yang dapat diubah ke Int32 null.

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum yang dapat diubah ke Int64 null.

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum yang dapat diubah ke Single null.

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum Single .

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

Memanggil fungsi transformasi pada setiap elemen urutan generik dan mengembalikan nilai maksimum yang dihasilkan.

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

Mengembalikan nilai maksimum dalam urutan generik sesuai dengan fungsi pemilih kunci tertentu.

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

Mengembalikan nilai maksimum dalam urutan generik sesuai dengan fungsi pemilih kunci dan perbandingan kunci yang ditentukan.

Min<TSource>(IEnumerable<TSource>)

Mengembalikan nilai minimum dalam urutan generik.

Min<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Mengembalikan nilai minimum dalam urutan generik.

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum Decimal .

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum Double .

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum Int32 .

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum Int64 .

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum yang dapat diubah ke Decimal null.

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum yang dapat diubah ke Double null.

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum yang dapat diubah ke Int32 null.

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum yang dapat diubah ke Int64 null.

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum yang dapat diubah ke Single null.

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

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum Single .

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

Memanggil fungsi transformasi pada setiap elemen urutan generik dan mengembalikan nilai minimum yang dihasilkan.

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

Mengembalikan nilai minimum dalam urutan generik sesuai dengan fungsi pemilih kunci tertentu.

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

Mengembalikan nilai minimum dalam urutan generik sesuai dengan fungsi pemilih kunci dan perbandingan kunci yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis yang ditentukan.

Order<T>(IEnumerable<T>)

Mengurutkan elemen urutan dalam urutan naik.

Order<T>(IEnumerable<T>, IComparer<T>)

Mengurutkan elemen urutan dalam urutan naik.

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

Mengurutkan elemen urutan dalam urutan naik sesuai dengan kunci.

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

Mengurutkan elemen urutan dalam urutan naik dengan menggunakan perbandingan yang ditentukan.

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

Mengurutkan elemen urutan dalam urutan turun sesuai dengan kunci.

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

Mengurutkan elemen urutan dalam urutan menurun dengan menggunakan pembanding yang ditentukan.

OrderDescending<T>(IEnumerable<T>)

Mengurutkan elemen urutan dalam urutan turun.

OrderDescending<T>(IEnumerable<T>, IComparer<T>)

Mengurutkan elemen urutan dalam urutan turun.

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

Menambahkan nilai ke awal urutan.

Reverse<TSource>(IEnumerable<TSource>)

Menginversi urutan elemen secara berurutan.

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

Memproyeksikan setiap elemen urutan ke dalam bentuk baru.

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

Memproyeksikan setiap elemen urutan ke dalam bentuk baru dengan menggabungkan indeks elemen.

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

Memproyeksikan setiap elemen urutan ke dan IEnumerable<T> meratakan urutan yang dihasilkan menjadi satu urutan.

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

Memproyeksikan setiap elemen urutan ke IEnumerable<T>, dan meratakan urutan yang dihasilkan menjadi satu urutan. Indeks setiap elemen sumber digunakan dalam bentuk elemen yang diproyeksikan.

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

Memproyeksikan setiap elemen urutan ke IEnumerable<T>, meratakan urutan yang dihasilkan menjadi satu urutan, dan memanggil fungsi pemilih hasil pada setiap elemen di dalamnya.

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

Memproyeksikan setiap elemen urutan ke IEnumerable<T>, meratakan urutan yang dihasilkan menjadi satu urutan, dan memanggil fungsi pemilih hasil pada setiap elemen di dalamnya. Indeks setiap elemen sumber digunakan dalam bentuk perantara yang diproyeksikan dari elemen tersebut.

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

Menentukan apakah dua urutan sama dengan membandingkan elemen dengan menggunakan perbandingan kesetaraan default untuk jenisnya.

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

Menentukan apakah dua urutan sama dengan membandingkan elemennya dengan menggunakan IEqualityComparer<T>.

Single<TSource>(IEnumerable<TSource>)

Mengembalikan satu-satunya elemen urutan, dan melemparkan pengecualian jika tidak ada tepat satu elemen dalam urutan.

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

Mengembalikan satu-satunya elemen urutan yang memenuhi kondisi tertentu, dan melemparkan pengecualian jika ada lebih dari satu elemen tersebut.

SingleOrDefault<TSource>(IEnumerable<TSource>)

Mengembalikan satu-satunya elemen urutan, atau nilai default jika urutan kosong; metode ini memberikan pengecualian jika ada lebih dari satu elemen dalam urutan.

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

Mengembalikan satu-satunya elemen dari urutan, atau nilai default yang ditentukan jika urutannya kosong; metode ini memberikan pengecualian jika ada lebih dari satu elemen dalam urutan.

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

Mengembalikan satu-satunya elemen urutan yang memenuhi kondisi tertentu atau nilai default jika tidak ada elemen tersebut; metode ini memberikan pengecualian jika lebih dari satu elemen memenuhi kondisi.

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

Mengembalikan satu-satunya elemen urutan yang memenuhi kondisi tertentu, atau nilai default yang ditentukan jika tidak ada elemen tersebut; metode ini memberikan pengecualian jika lebih dari satu elemen memenuhi kondisi.

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

Melewati jumlah elemen tertentu secara berurutan lalu mengembalikan elemen yang tersisa.

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

Mengembalikan koleksi enumerasi baru yang berisi elemen dari source dengan elemen terakhir count dari koleksi sumber yang dihilangkan.

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

Melewati elemen secara berurutan selama kondisi yang ditentukan benar lalu mengembalikan elemen yang tersisa.

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

Melewati elemen secara berurutan selama kondisi yang ditentukan benar lalu mengembalikan elemen yang tersisa. Indeks elemen digunakan dalam logika fungsi predikat.

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

Menghitung jumlah urutan Decimal nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung jumlah urutan Double nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung jumlah urutan Int32 nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung jumlah urutan Int64 nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung jumlah urutan nilai nullable Decimal yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung jumlah urutan nilai nullable Double yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung jumlah urutan nilai nullable Int32 yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung jumlah urutan nilai nullable Int64 yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung jumlah urutan nilai nullable Single yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Menghitung jumlah urutan Single nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Mengembalikan jumlah elemen yang bersebelahan yang ditentukan dari awal urutan.

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

Mengembalikan rentang elemen yang bersebelahan yang ditentukan dari urutan.

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

Mengembalikan koleksi enumerasi baru yang berisi elemen terakhir count dari source.

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

Mengembalikan elemen dari urutan selama kondisi yang ditentukan benar.

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

Mengembalikan elemen dari urutan selama kondisi yang ditentukan benar. Indeks elemen digunakan dalam logika fungsi predikat.

ToArray<TSource>(IEnumerable<TSource>)

Membuat array dari IEnumerable<T>.

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

Dictionary<TKey,TValue> Membuat dari sesuai IEnumerable<T> dengan fungsi pemilih kunci tertentu.

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

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci dan perbandingan kunci yang ditentukan.

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

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan pemilih kunci dan fungsi pemilih elemen yang ditentukan.

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

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci tertentu, perbandingan, dan fungsi pemilih elemen.

ToHashSet<TSource>(IEnumerable<TSource>)

HashSet<T> Membuat dari IEnumerable<T>.

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

HashSet<T> Membuat dari IEnumerable<T> menggunakan comparer untuk membandingkan kunci.

ToList<TSource>(IEnumerable<TSource>)

List<T> Membuat dari IEnumerable<T>.

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

Lookup<TKey,TElement> Membuat dari sesuai IEnumerable<T> dengan fungsi pemilih kunci tertentu.

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

Lookup<TKey,TElement> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci dan perbandingan kunci yang ditentukan.

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

Lookup<TKey,TElement> Membuat dari IEnumerable<T> sesuai dengan pemilih kunci dan fungsi pemilih elemen yang ditentukan.

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

Lookup<TKey,TElement> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci tertentu, perbandingan, dan fungsi pemilih elemen.

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

Mencoba menentukan jumlah elemen dalam urutan tanpa memaksa enumerasi.

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

Menghasilkan penyatuan yang ditetapkan dari dua urutan dengan menggunakan perbandingan kesetaraan default.

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

Menghasilkan penyatuan yang ditetapkan dari dua urutan dengan menggunakan IEqualityComparer<T>.

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

Menghasilkan penyatuan yang ditetapkan dari dua urutan sesuai dengan fungsi pemilih kunci tertentu.

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

Menghasilkan penyatuan yang ditetapkan dari dua urutan sesuai dengan fungsi pemilih kunci tertentu.

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

Memfilter urutan nilai berdasarkan predikat.

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

Memfilter urutan nilai berdasarkan predikat. Indeks setiap elemen digunakan dalam logika fungsi predikat.

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

Menghasilkan urutan tuple dengan elemen dari dua urutan yang ditentukan.

Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>)

Menghasilkan urutan tuple dengan elemen dari tiga urutan yang ditentukan.

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

Menerapkan fungsi tertentu ke elemen yang sesuai dari dua urutan, menghasilkan urutan hasil.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsParallel<TSource>(IEnumerable<TSource>)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Mengonversi generik IEnumerable<T> menjadi generik IQueryable<T>.

Ancestors<T>(IEnumerable<T>)

Mengembalikan kumpulan elemen yang berisi leluhur setiap simpul dalam kumpulan sumber.

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

Mengembalikan kumpulan elemen yang difilter yang berisi leluhur setiap simpul dalam kumpulan sumber. Hanya elemen yang memiliki pencocokan XName yang disertakan dalam koleksi.

DescendantNodes<T>(IEnumerable<T>)

Mengembalikan kumpulan simpul turunan dari setiap dokumen dan elemen dalam kumpulan sumber.

Descendants<T>(IEnumerable<T>)

Mengembalikan kumpulan elemen yang berisi elemen turunan dari setiap elemen dan dokumen dalam kumpulan sumber.

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

Mengembalikan kumpulan elemen yang difilter yang berisi elemen turunan dari setiap elemen dan dokumen dalam kumpulan sumber. Hanya elemen yang memiliki pencocokan XName yang disertakan dalam koleksi.

Elements<T>(IEnumerable<T>)

Mengembalikan kumpulan elemen anak dari setiap elemen dan dokumen dalam kumpulan sumber.

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

Mengembalikan kumpulan elemen anak yang difilter dari setiap elemen dan dokumen dalam kumpulan sumber. Hanya elemen yang memiliki pencocokan XName yang disertakan dalam koleksi.

InDocumentOrder<T>(IEnumerable<T>)

Mengembalikan kumpulan simpul yang berisi semua simpul dalam kumpulan sumber, diurutkan dalam urutan dokumen.

Nodes<T>(IEnumerable<T>)

Mengembalikan kumpulan simpul anak dari setiap dokumen dan elemen dalam kumpulan sumber.

Remove<T>(IEnumerable<T>)

Menghapus setiap simpul dalam kumpulan sumber dari simpul induknya.

Berlaku untuk

Lihat juga