KeyedCollection<TKey,TItem> Osztály

Definíció

Egy olyan gyűjtemény absztrakt alaposztályát adja meg, amelynek kulcsai az értékekbe vannak ágyazva.

generic <typename TKey, typename TItem>
public ref class KeyedCollection abstract : System::Collections::ObjectModel::Collection<TItem>
public abstract class KeyedCollection<TKey,TItem> : System.Collections.ObjectModel.Collection<TItem>
[System.Runtime.InteropServices.ComVisible(false)]
[System.Serializable]
public abstract class KeyedCollection<TKey,TItem> : System.Collections.ObjectModel.Collection<TItem>
type KeyedCollection<'Key, 'Item> = class
    inherit Collection<'Item>
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Serializable>]
type KeyedCollection<'Key, 'Item> = class
    inherit Collection<'Item>
Public MustInherit Class KeyedCollection(Of TKey, TItem)
Inherits Collection(Of TItem)

Típusparaméterek

TKey

A gyűjtemény kulcsainak típusa.

TItem

A gyűjtemény elemeinek típusa.

Öröklődés
Collection<TItem>
KeyedCollection<TKey,TItem>
Származtatott
Attribútumok

Példák

Ez a szakasz két példakódot tartalmaz. Az első példa a származtatáshoz KeyedCollection<TKey,TItem>szükséges minimális kódot mutatja be, és számos örökölt metódust mutat be. A második példa bemutatja, hogyan bírálhatja felül az egyéni viselkedés biztosításának védett módszereit KeyedCollection<TKey,TItem> .

Példa 1

Ez a példakód azt a minimális kódot mutatja be, amely egy gyűjteményosztály KeyedCollection<TKey,TItem>származtatásához szükséges: felülírja a GetKeyForItem metódust, és egy nyilvános konstruktort biztosít, amely egy alaposztály-konstruktorhoz delegál. A példakód emellett számos olyan tulajdonságot és metódust mutat be, amelyektől és Collection<T> osztályoktól KeyedCollection<TKey,TItem> öröklődnek.

Az SimpleOrder osztály egy nagyon egyszerű igénylési lista, amely objektumokat tartalmaz OrderItem , amelyek mindegyike egy sorelemet jelöl a sorrendben. A kulcs OrderItem a nem módosítható, fontos szempont az osztályok, amelyek származnak KeyedCollection<TKey,TItem>. A mutable kulcsokat használó kód példáiért lásd: ChangeItemKey.

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

// This class represents a very simple keyed list of OrderItems,
// inheriting most of its behavior from the KeyedCollection and
// Collection classes. The immediate base class is the constructed
// type KeyedCollection<int, OrderItem>. When you inherit
// from KeyedCollection, the second generic type argument is the
// type that you want to store in the collection -- in this case
// OrderItem. The first type argument is the type that you want
// to use as a key. Its values must be calculated from OrderItem;
// in this case it is the int field PartNumber, so SimpleOrder
// inherits KeyedCollection<int, OrderItem>.
//
public class SimpleOrder : KeyedCollection<int, OrderItem>
{

    // This is the only method that absolutely must be overridden,
    // because without it the KeyedCollection cannot extract the
    // keys from the items. The input parameter type is the
    // second generic type argument, in this case OrderItem, and
    // the return value type is the first generic type argument,
    // in this case int.
    //
    protected override int GetKeyForItem(OrderItem item)
    {
        // In this example, the key is the part number.
        return item.PartNumber;
    }
}

public class Demo
{
    public static void Main()
    {
        SimpleOrder weekly = new SimpleOrder();

        // The Add method, inherited from Collection, takes OrderItem.
        //
        weekly.Add(new OrderItem(110072674, "Widget", 400, 45.17));
        weekly.Add(new OrderItem(110072675, "Sprocket", 27, 5.3));
        weekly.Add(new OrderItem(101030411, "Motor", 10, 237.5));
        weekly.Add(new OrderItem(110072684, "Gear", 175, 5.17));

        Display(weekly);

        // The Contains method of KeyedCollection takes the key,
        // type, in this case int.
        //
        Console.WriteLine("\nContains(101030411): {0}",
            weekly.Contains(101030411));

        // The default Item property of KeyedCollection takes a key.
        //
        Console.WriteLine("\nweekly[101030411].Description: {0}",
            weekly[101030411].Description);

        // The Remove method of KeyedCollection takes a key.
        //
        Console.WriteLine("\nRemove(101030411)");
        weekly.Remove(101030411);
        Display(weekly);

        // The Insert method, inherited from Collection, takes an
        // index and an OrderItem.
        //
        Console.WriteLine("\nInsert(2, New OrderItem(...))");
        weekly.Insert(2, new OrderItem(111033401, "Nut", 10, .5));
        Display(weekly);

        // The default Item property is overloaded. One overload comes
        // from KeyedCollection<int, OrderItem>; that overload
        // is read-only, and takes Integer because it retrieves by key.
        // The other overload comes from Collection<OrderItem>, the
        // base class of KeyedCollection<int, OrderItem>; it
        // retrieves by index, so it also takes an Integer. The compiler
        // uses the most-derived overload, from KeyedCollection, so the
        // only way to access SimpleOrder by index is to cast it to
        // Collection<OrderItem>. Otherwise the index is interpreted
        // as a key, and KeyNotFoundException is thrown.
        //
        Collection<OrderItem> coweekly = weekly;
        Console.WriteLine("\ncoweekly[2].Description: {0}",
            coweekly[2].Description);

        Console.WriteLine("\ncoweekly[2] = new OrderItem(...)");
        coweekly[2] = new OrderItem(127700026, "Crank", 27, 5.98);

        OrderItem temp = coweekly[2];

        // The IndexOf method inherited from Collection<OrderItem>
        // takes an OrderItem instead of a key
        //
        Console.WriteLine("\nIndexOf(temp): {0}", weekly.IndexOf(temp));

        // The inherited Remove method also takes an OrderItem.
        //
        Console.WriteLine("\nRemove(temp)");
        weekly.Remove(temp);
        Display(weekly);

        Console.WriteLine("\nRemoveAt(0)");
        weekly.RemoveAt(0);
        Display(weekly);
    }

    private static void Display(SimpleOrder order)
    {
        Console.WriteLine();
        foreach( OrderItem item in order )
        {
            Console.WriteLine(item);
        }
    }
}

// This class represents a simple line item in an order. All the
// values are immutable except quantity.
//
public class OrderItem
{
    public readonly int PartNumber;
    public readonly string Description;
    public readonly double UnitPrice;

    private int _quantity = 0;

    public OrderItem(int partNumber, string description,
        int quantity, double unitPrice)
    {
        this.PartNumber = partNumber;
        this.Description = description;
        this.Quantity = quantity;
        this.UnitPrice = unitPrice;
    }

    public int Quantity
    {
        get { return _quantity; }
        set
        {
            if (value<0)
                throw new ArgumentException("Quantity cannot be negative.");

            _quantity = value;
        }
    }

    public override string ToString()
    {
        return String.Format(
            "{0,9} {1,6} {2,-12} at {3,8:#,###.00} = {4,10:###,###.00}",
            PartNumber, _quantity, Description, UnitPrice,
            UnitPrice * _quantity);
    }
}

/* This code example produces the following output:

110072674    400 Widget       at    45.17 =  18,068.00
110072675     27 Sprocket     at     5.30 =     143.10
101030411     10 Motor        at   237.50 =   2,375.00
110072684    175 Gear         at     5.17 =     904.75

Contains(101030411): True

weekly[101030411].Description: Motor

Remove(101030411)

110072674    400 Widget       at    45.17 =  18,068.00
110072675     27 Sprocket     at     5.30 =     143.10
110072684    175 Gear         at     5.17 =     904.75

Insert(2, New OrderItem(...))

110072674    400 Widget       at    45.17 =  18,068.00
110072675     27 Sprocket     at     5.30 =     143.10
111033401     10 Nut          at      .50 =       5.00
110072684    175 Gear         at     5.17 =     904.75

coweekly[2].Description: Nut

coweekly[2] = new OrderItem(...)

IndexOf(temp): 2

Remove(temp)

110072674    400 Widget       at    45.17 =  18,068.00
110072675     27 Sprocket     at     5.30 =     143.10
110072684    175 Gear         at     5.17 =     904.75

RemoveAt(0)

110072675     27 Sprocket     at     5.30 =     143.10
110072684    175 Gear         at     5.17 =     904.75
 */
Imports System.Collections.Generic
Imports System.Collections.ObjectModel

' This class represents a very simple keyed list of OrderItems,
' inheriting most of its behavior from the KeyedCollection and 
' Collection classes. The immediate base class is the constructed
' type KeyedCollection(Of Integer, OrderItem). When you inherit
' from KeyedCollection, the second generic type argument is the 
' type that you want to store in the collection -- in this case
' OrderItem. The first generic argument is the type that you want
' to use as a key. Its values must be calculated from OrderItem; 
' in this case it is the Integer field PartNumber, so SimpleOrder
' inherits KeyedCollection(Of Integer, OrderItem).
'
Public Class SimpleOrder
    Inherits KeyedCollection(Of Integer, OrderItem)


    ' This is the only method that absolutely must be overridden,
    ' because without it the KeyedCollection cannot extract the
    ' keys from the items. The input parameter type is the 
    ' second generic type argument, in this case OrderItem, and 
    ' the return value type is the first generic type argument,
    ' in this case Integer.
    '
    Protected Overrides Function GetKeyForItem( _
        ByVal item As OrderItem) As Integer

        ' In this example, the key is the part number.
        Return item.PartNumber   
    End Function

End Class

Public Class Demo
    
    Public Shared Sub Main() 
        Dim weekly As New SimpleOrder()

        ' The Add method, inherited from Collection, takes OrderItem.
        '
        weekly.Add(New OrderItem(110072674, "Widget", 400, 45.17))
        weekly.Add(New OrderItem(110072675, "Sprocket", 27, 5.3))
        weekly.Add(New OrderItem(101030411, "Motor", 10, 237.5))
        weekly.Add(New OrderItem(110072684, "Gear", 175, 5.17))
        
        Display(weekly)
    
        ' The Contains method of KeyedCollection takes TKey.
        '
        Console.WriteLine(vbLf & "Contains(101030411): {0}", _
            weekly.Contains(101030411))

        ' The default Item property of KeyedCollection takes the key
        ' type, Integer.
        '
        Console.WriteLine(vbLf & "weekly(101030411).Description: {0}", _
            weekly(101030411).Description)

        ' The Remove method of KeyedCollection takes a key.
        '
        Console.WriteLine(vbLf & "Remove(101030411)")
        weekly.Remove(101030411)
        Display(weekly)

        ' The Insert method, inherited from Collection, takes an 
        ' index and an OrderItem.
        '
        Console.WriteLine(vbLf & "Insert(2, New OrderItem(...))")
        weekly.Insert(2, New OrderItem(111033401, "Nut", 10, .5))
        Display(weekly)

        ' The default Item property is overloaded. One overload comes
        ' from KeyedCollection(Of Integer, OrderItem); that overload
        ' is read-only, and takes Integer because it retrieves by key. 
        ' The other overload comes from Collection(Of OrderItem), the 
        ' base class of KeyedCollection(Of Integer, OrderItem); it 
        ' retrieves by index, so it also takes an Integer. The compiler
        ' uses the most-derived overload, from KeyedCollection, so the
        ' only way to access SimpleOrder by index is to cast it to
        ' Collection(Of OrderItem). Otherwise the index is interpreted
        ' as a key, and KeyNotFoundException is thrown.
        '
        Dim coweekly As Collection(Of OrderItem) = weekly
        Console.WriteLine(vbLf & "coweekly(2).Description: {0}", _
            coweekly(2).Description)
 
        Console.WriteLine(vbLf & "coweekly(2) = New OrderItem(...)")
        coweekly(2) = New OrderItem(127700026, "Crank", 27, 5.98)

        Dim temp As OrderItem = coweekly(2)

        ' The IndexOf method, inherited from Collection(Of OrderItem), 
        ' takes an OrderItem instead of a key.
        ' 
        Console.WriteLine(vbLf & "IndexOf(temp): {0}", _
            weekly.IndexOf(temp))

        ' The inherited Remove method also takes an OrderItem.
        '
        Console.WriteLine(vbLf & "Remove(temp)")
        weekly.Remove(temp)
        Display(weekly)

        Console.WriteLine(vbLf & "RemoveAt(0)")
        weekly.RemoveAt(0)
        Display(weekly)

    End Sub
    
    Private Shared Sub Display(ByVal order As SimpleOrder) 
        Console.WriteLine()
        For Each item As OrderItem In  order
            Console.WriteLine(item)
        Next item
    End Sub
End Class

' This class represents a simple line item in an order. All the 
' values are immutable except quantity.
' 
Public Class OrderItem
    Public ReadOnly PartNumber As Integer
    Public ReadOnly Description As String
    Public ReadOnly UnitPrice As Double
    
    Private _quantity As Integer = 0
    
    Public Sub New(ByVal partNumber As Integer, _
                   ByVal description As String, _
                   ByVal quantity As Integer, _
                   ByVal unitPrice As Double) 
        Me.PartNumber = partNumber
        Me.Description = description
        Me.Quantity = quantity
        Me.UnitPrice = unitPrice
    End Sub
    
    Public Property Quantity() As Integer 
        Get
            Return _quantity
        End Get
        Set
            If value < 0 Then
                Throw New ArgumentException("Quantity cannot be negative.")
            End If
            _quantity = value
        End Set
    End Property
        
    Public Overrides Function ToString() As String 
        Return String.Format( _
            "{0,9} {1,6} {2,-12} at {3,8:#,###.00} = {4,10:###,###.00}", _
            PartNumber, _quantity, Description, UnitPrice, _
            UnitPrice * _quantity)
    End Function
End Class

' This code example produces the following output:
'
'110072674    400 Widget       at    45.17 =  18,068.00
'110072675     27 Sprocket     at     5.30 =     143.10
'101030411     10 Motor        at   237.50 =   2,375.00
'110072684    175 Gear         at     5.17 =     904.75
'
'Contains(101030411): True
'
'weekly(101030411).Description: Motor
'
'Remove(101030411)
'
'110072674    400 Widget       at    45.17 =  18,068.00
'110072675     27 Sprocket     at     5.30 =     143.10
'110072684    175 Gear         at     5.17 =     904.75
'
'Insert(2, New OrderItem(...))
'
'110072674    400 Widget       at    45.17 =  18,068.00
'110072675     27 Sprocket     at     5.30 =     143.10
'111033401     10 Nut          at      .50 =       5.00
'110072684    175 Gear         at     5.17 =     904.75
'
'coweekly(2).Description: Nut
'
'coweekly(2) = New OrderItem(...)
'
'IndexOf(temp): 2
'
'Remove(temp)
'
'110072674    400 Widget       at    45.17 =  18,068.00
'110072675     27 Sprocket     at     5.30 =     143.10
'110072684    175 Gear         at     5.17 =     904.75
'
'RemoveAt(0)
'
'110072675     27 Sprocket     at     5.30 =     143.10
'110072684    175 Gear         at     5.17 =     904.75

2. példa

Az alábbi példakód bemutatja, hogyan bírálhatja felül a védett , , és metódusokat, hogy egyéni viselkedést biztosítson a Add, Removeés Clear metódusokhoz, és hogyan állíthatja be az alapértelmezett Item[] tulajdonságot (a C#-ban az indexelőt).SetItemClearItemsRemoveItemInsertItem Az ebben a példában megadott egyéni viselkedés egy értesítési esemény, Changedamely az egyes felülbírált metódusok végén jelenik meg.

A példakód létrehozza az SimpleOrder osztályt, amely egy egyszerű rendelési űrlapból KeyedCollection<TKey,TItem> származik és jelöl. A rendelési űrlap a megrendelt elemeket képviselő objektumokat tartalmazza OrderItem . A példakód egy osztályt SimpleOrderChangedEventArgs is létrehoz az eseményinformációk, valamint egy számbavételt a változás típusának azonosításához.

A példakód a származtatott osztály tulajdonságainak és metódusainak meghívásával mutatja be az egyéni viselkedést az MainDemo osztály metódusában.

Ez a példakód nem módosítható kulcsokkal rendelkező objektumokat használ. A mutable kulcsokat használó kód példáiért lásd: ChangeItemKey.

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

// This class derives from KeyedCollection and shows how to override
// the protected ClearItems, InsertItem, RemoveItem, and SetItem
// methods in order to change the behavior of the default Item
// property and the Add, Clear, Insert, and Remove methods. The
// class implements a Changed event, which is raised by all the
// protected methods.
//
// SimpleOrder is a collection of OrderItem objects, and its key
// is the PartNumber field of OrderItem. PartNumber is an Integer,
// so SimpleOrder inherits KeyedCollection<int, OrderItem>.
// (Note that the key of OrderItem cannot be changed; if it could
// be changed, SimpleOrder would have to override ChangeItemKey.)
//
public class SimpleOrder : KeyedCollection<int, OrderItem>
{
    public event EventHandler<SimpleOrderChangedEventArgs> Changed;

    // This parameterless constructor calls the base class constructor
    // that specifies a dictionary threshold of 0, so that the internal
    // dictionary is created as soon as an item is added to the
    // collection.
    //
    public SimpleOrder() : base(null, 0) {}

    // This is the only method that absolutely must be overridden,
    // because without it the KeyedCollection cannot extract the
    // keys from the items.
    //
    protected override int GetKeyForItem(OrderItem item)
    {
        // In this example, the key is the part number.
        return item.PartNumber;
    }

    protected override void InsertItem(int index, OrderItem newItem)
    {
        base.InsertItem(index, newItem);

        EventHandler<SimpleOrderChangedEventArgs> temp = Changed;
        if (temp != null)
        {
            temp(this, new SimpleOrderChangedEventArgs(
                ChangeType.Added, newItem, null));
        }
    }

    protected override void SetItem(int index, OrderItem newItem)
    {
        OrderItem replaced = Items[index];
        base.SetItem(index, newItem);

        EventHandler<SimpleOrderChangedEventArgs> temp = Changed;
        if (temp != null)
        {
            temp(this, new SimpleOrderChangedEventArgs(
                ChangeType.Replaced, replaced, newItem));
        }
    }

    protected override void RemoveItem(int index)
    {
        OrderItem removedItem = Items[index];
        base.RemoveItem(index);

        EventHandler<SimpleOrderChangedEventArgs> temp = Changed;
        if (temp != null)
        {
            temp(this, new SimpleOrderChangedEventArgs(
                ChangeType.Removed, removedItem, null));
        }
    }

    protected override void ClearItems()
    {
        base.ClearItems();

        EventHandler<SimpleOrderChangedEventArgs> temp = Changed;
        if (temp != null)
        {
            temp(this, new SimpleOrderChangedEventArgs(
                ChangeType.Cleared, null, null));
        }
    }
}

// Event argument for the Changed event.
//
public class SimpleOrderChangedEventArgs : EventArgs
{
    private OrderItem _changedItem;
    private ChangeType _changeType;
    private OrderItem _replacedWith;

    public OrderItem ChangedItem { get { return _changedItem; }}
    public ChangeType ChangeType { get { return _changeType; }}
    public OrderItem ReplacedWith { get { return _replacedWith; }}

    public SimpleOrderChangedEventArgs(ChangeType change,
        OrderItem item, OrderItem replacement)
    {
        _changeType = change;
        _changedItem = item;
        _replacedWith = replacement;
    }
}

public enum ChangeType
{
    Added,
    Removed,
    Replaced,
    Cleared
};

public class Demo
{
    public static void Main()
    {
        SimpleOrder weekly = new SimpleOrder();
        weekly.Changed += new
            EventHandler<SimpleOrderChangedEventArgs>(ChangedHandler);

        // The Add method, inherited from Collection, takes OrderItem.
        //
        weekly.Add(new OrderItem(110072674, "Widget", 400, 45.17));
        weekly.Add(new OrderItem(110072675, "Sprocket", 27, 5.3));
        weekly.Add(new OrderItem(101030411, "Motor", 10, 237.5));
        weekly.Add(new OrderItem(110072684, "Gear", 175, 5.17));

        Display(weekly);

        // The Contains method of KeyedCollection takes TKey.
        //
        Console.WriteLine("\nContains(101030411): {0}",
            weekly.Contains(101030411));

        // The default Item property of KeyedCollection takes the key
        // type, Integer. The property is read-only.
        //
        Console.WriteLine("\nweekly[101030411].Description: {0}",
            weekly[101030411].Description);

        // The Remove method of KeyedCollection takes a key.
        //
        Console.WriteLine("\nRemove(101030411)");
        weekly.Remove(101030411);

        // The Insert method, inherited from Collection, takes an
        // index and an OrderItem.
        //
        Console.WriteLine("\nInsert(2, new OrderItem(...))");
        weekly.Insert(2, new OrderItem(111033401, "Nut", 10, .5));

        // The default Item property is overloaded. One overload comes
        // from KeyedCollection<int, OrderItem>; that overload
        // is read-only, and takes Integer because it retrieves by key.
        // The other overload comes from Collection<OrderItem>, the
        // base class of KeyedCollection<int, OrderItem>; it
        // retrieves by index, so it also takes an Integer. The compiler
        // uses the most-derived overload, from KeyedCollection, so the
        // only way to access SimpleOrder by index is to cast it to
        // Collection<OrderItem>. Otherwise the index is interpreted
        // as a key, and KeyNotFoundException is thrown.
        //
        Collection<OrderItem> coweekly = weekly;
        Console.WriteLine("\ncoweekly[2].Description: {0}",
            coweekly[2].Description);

        Console.WriteLine("\ncoweekly[2] = new OrderItem(...)");
        coweekly[2] = new OrderItem(127700026, "Crank", 27, 5.98);

        OrderItem temp = coweekly[2];

        // The IndexOf method, inherited from Collection<OrderItem>,
        // takes an OrderItem instead of a key.
        //
        Console.WriteLine("\nIndexOf(temp): {0}", weekly.IndexOf(temp));

        // The inherited Remove method also takes an OrderItem.
        //
        Console.WriteLine("\nRemove(temp)");
        weekly.Remove(temp);

        Console.WriteLine("\nRemoveAt(0)");
        weekly.RemoveAt(0);

        // Increase the quantity for a line item.
        Console.WriteLine("\ncoweekly(1) = New OrderItem(...)");
        coweekly[1] = new OrderItem(coweekly[1].PartNumber,
            coweekly[1].Description, coweekly[1].Quantity + 1000,
            coweekly[1].UnitPrice);

        Display(weekly);

        Console.WriteLine();
        weekly.Clear();
    }

    private static void Display(SimpleOrder order)
    {
        Console.WriteLine();
        foreach( OrderItem item in order )
        {
            Console.WriteLine(item);
        }
    }

    private static void ChangedHandler(object source,
        SimpleOrderChangedEventArgs e)
    {

        OrderItem item = e.ChangedItem;

        if (e.ChangeType==ChangeType.Replaced)
        {
            OrderItem replacement = e.ReplacedWith;

            Console.WriteLine("{0} (quantity {1}) was replaced " +
                "by {2}, (quantity {3}).", item.Description,
                item.Quantity, replacement.Description,
                replacement.Quantity);
        }
        else if(e.ChangeType == ChangeType.Cleared)
        {
            Console.WriteLine("The order list was cleared.");
        }
        else
        {
            Console.WriteLine("{0} (quantity {1}) was {2}.",
                item.Description, item.Quantity, e.ChangeType);
        }
    }
}

// This class represents a simple line item in an order. All the
// values are immutable except quantity.
//
public class OrderItem
{
    private int _partNumber;
    private string _description;
    private double _unitPrice;
    private int _quantity;

    public int PartNumber { get { return _partNumber; }}
    public string Description { get { return _description; }}
    public double UnitPrice { get { return _unitPrice; }}
    public int Quantity { get { return _quantity; }}

    public OrderItem(int partNumber, string description, int quantity,
        double unitPrice)
    {
        _partNumber = partNumber;
        _description = description;
        _quantity = quantity;
        _unitPrice = unitPrice;
    }

    public override string ToString()
    {
        return String.Format(
            "{0,9} {1,6} {2,-12} at {3,8:#,###.00} = {4,10:###,###.00}",
            PartNumber, _quantity, Description, UnitPrice,
            UnitPrice * _quantity);
    }
}

/* This code example produces the following output:

Widget (quantity 400) was Added.
Sprocket (quantity 27) was Added.
Motor (quantity 10) was Added.
Gear (quantity 175) was Added.

110072674    400 Widget       at    45.17 =  18,068.00
110072675     27 Sprocket     at     5.30 =     143.10
101030411     10 Motor        at   237.50 =   2,375.00
110072684    175 Gear         at     5.17 =     904.75

Contains(101030411): True

weekly[101030411].Description: Motor

Remove(101030411)
Motor (quantity 10) was Removed.

Insert(2, new OrderItem(...))
Nut (quantity 10) was Added.

coweekly[2].Description: Nut

coweekly[2] = new OrderItem(...)
Nut (quantity 10) was replaced by Crank, (quantity 27).

IndexOf(temp): 2

Remove(temp)
Crank (quantity 27) was Removed.

RemoveAt(0)
Widget (quantity 400) was Removed.

coweekly(1) = New OrderItem(...)
Gear (quantity 175) was replaced by Gear, (quantity 1175).

110072675     27 Sprocket     at     5.30 =     143.10
110072684   1175 Gear         at     5.17 =   6,074.75

The order list was cleared.
 */
Imports System.Collections.Generic
Imports System.Collections.ObjectModel

' This class derives from KeyedCollection and shows how to override
' the protected ClearItems, InsertItem, RemoveItem, and SetItem 
' methods in order to change the behavior of the default Item 
' property and the Add, Clear, Insert, and Remove methods. The
' class implements a Changed event, which is raised by all the
' protected methods.
'
' SimpleOrder is a collection of OrderItem objects, and its key
' is the PartNumber field of OrderItem. PartNumber is an Integer,
' so SimpleOrder inherits KeyedCollection(Of Integer, OrderItem).
' (Note that the key of OrderItem cannot be changed; if it could 
' be changed, SimpleOrder would have to override ChangeItemKey.)
'
Public Class SimpleOrder
    Inherits KeyedCollection(Of Integer, OrderItem)

    Public Event Changed As EventHandler(Of SimpleOrderChangedEventArgs)

    ' This parameterless constructor calls the base class constructor
    ' that specifies a dictionary threshold of 0, so that the internal
    ' dictionary is created as soon as an item is added to the 
    ' collection.
    '
    Public Sub New()
        MyBase.New(Nothing, 0)
    End Sub
    
    ' This is the only method that absolutely must be overridden,
    ' because without it the KeyedCollection cannot extract the
    ' keys from the items. 
    '
    Protected Overrides Function GetKeyForItem( _
        ByVal item As OrderItem) As Integer

        ' In this example, the key is the part number.
        Return item.PartNumber   
    End Function

    Protected Overrides Sub InsertItem( _
        ByVal index As Integer, ByVal newItem As OrderItem)

        MyBase.InsertItem(index, newItem)

        RaiseEvent Changed(Me, New SimpleOrderChangedEventArgs( _
            ChangeType.Added, newItem, Nothing))
    End Sub

    Protected Overrides Sub SetItem(ByVal index As Integer, _
        ByVal newItem As OrderItem)

        Dim replaced As OrderItem = Items(index)
        MyBase.SetItem(index, newItem)

        RaiseEvent Changed(Me, New SimpleOrderChangedEventArgs( _
            ChangeType.Replaced, replaced, newItem))
    End Sub

    Protected Overrides Sub RemoveItem(ByVal index As Integer)

        Dim removedItem As OrderItem = Items(index)
        MyBase.RemoveItem(index)

        RaiseEvent Changed(Me, New SimpleOrderChangedEventArgs( _
            ChangeType.Removed, removedItem, Nothing))
    End Sub

    Protected Overrides Sub ClearItems()
        MyBase.ClearItems()

        RaiseEvent Changed(Me, New SimpleOrderChangedEventArgs( _
            ChangeType.Cleared, Nothing, Nothing))
    End Sub

End Class

' Event argument for the Changed event.
'
Public Class SimpleOrderChangedEventArgs
    Inherits EventArgs

    Private _changedItem As OrderItem
    Private _changeType As ChangeType
    Private _replacedWith As OrderItem

    Public ReadOnly Property ChangedItem As OrderItem
        Get
            Return _changedItem
        End Get
    End Property

    Public ReadOnly Property ChangeType As ChangeType
        Get
            Return _changeType
        End Get
    End Property

    Public ReadOnly Property ReplacedWith As OrderItem
        Get
            Return _replacedWith
        End Get
    End Property

    Public Sub New(ByVal change As ChangeType, ByVal item As OrderItem, _
        ByVal replacement As OrderItem)

        _changeType = change
        _changedItem = item
        _replacedWith = replacement
    End Sub
End Class

Public Enum ChangeType
    Added
    Removed
    Replaced
    Cleared
End Enum

Public Class Demo
    
    Public Shared Sub Main() 
        Dim weekly As New SimpleOrder()
        AddHandler weekly.Changed, AddressOf ChangedHandler

        ' The Add method, inherited from Collection, takes OrderItem.
        '
        weekly.Add(New OrderItem(110072674, "Widget", 400, 45.17))
        weekly.Add(New OrderItem(110072675, "Sprocket", 27, 5.3))
        weekly.Add(New OrderItem(101030411, "Motor", 10, 237.5))
        weekly.Add(New OrderItem(110072684, "Gear", 175, 5.17))

        Display(weekly)
        
        ' The Contains method of KeyedCollection takes TKey.
        '
        Console.WriteLine(vbLf & "Contains(101030411): {0}", _
            weekly.Contains(101030411))

        ' The default Item property of KeyedCollection takes the key
        ' type, Integer. The property is read-only.
        '
        Console.WriteLine(vbLf & "weekly(101030411).Description: {0}", _
            weekly(101030411).Description)

        ' The Remove method of KeyedCollection takes a key.
        '
        Console.WriteLine(vbLf & "Remove(101030411)")
        weekly.Remove(101030411)

        ' The Insert method, inherited from Collection, takes an 
        ' index and an OrderItem.
        '
        Console.WriteLine(vbLf & "Insert(2, New OrderItem(...))")
        weekly.Insert(2, New OrderItem(111033401, "Nut", 10, .5))
         
        ' The default Item property is overloaded. One overload comes
        ' from KeyedCollection(Of Integer, OrderItem); that overload
        ' is read-only, and takes Integer because it retrieves by key. 
        ' The other overload comes from Collection(Of OrderItem), the 
        ' base class of KeyedCollection(Of Integer, OrderItem); it 
        ' retrieves by index, so it also takes an Integer. The compiler
        ' uses the most-derived overload, from KeyedCollection, so the
        ' only way to access SimpleOrder by index is to cast it to
        ' Collection(Of OrderItem). Otherwise the index is interpreted
        ' as a key, and KeyNotFoundException is thrown.
        '
        Dim coweekly As Collection(Of OrderItem) = weekly
        Console.WriteLine(vbLf & "coweekly(2).Description: {0}", _
            coweekly(2).Description)
 
        Console.WriteLine(vbLf & "coweekly(2) = New OrderItem(...)")
        coweekly(2) = New OrderItem(127700026, "Crank", 27, 5.98)

        Dim temp As OrderItem = coweekly(2)

        ' The IndexOf method, inherited from Collection(Of OrderItem), 
        ' takes an OrderItem instead of a key.
        ' 
        Console.WriteLine(vbLf & "IndexOf(temp): {0}", _
            weekly.IndexOf(temp))

        ' The inherited Remove method also takes an OrderItem.
        '
        Console.WriteLine(vbLf & "Remove(temp)")
        weekly.Remove(temp)

        Console.WriteLine(vbLf & "RemoveAt(0)")
        weekly.RemoveAt(0)

        ' Increase the quantity for a line item.
        Console.WriteLine(vbLf & "coweekly(1) = New OrderItem(...)")
        coweekly(1) = New OrderItem(coweekly(1).PartNumber, _
            coweekly(1).Description, coweekly(1).Quantity + 1000, _
            coweekly(1).UnitPrice)

        Display(weekly)

        Console.WriteLine()
        weekly.Clear()
    End Sub
    
    Private Shared Sub Display(ByVal order As SimpleOrder) 
        Console.WriteLine()
        For Each item As OrderItem In  order
            Console.WriteLine(item)
        Next item
    End Sub

    Private Shared Sub ChangedHandler(ByVal source As Object, _
        ByVal e As SimpleOrderChangedEventArgs)

        Dim item As OrderItem = e.ChangedItem

        If e.ChangeType = ChangeType.Replaced Then
            Dim replacement As OrderItem = e.ReplacedWith

            Console.WriteLine("{0} (quantity {1}) was replaced " & _
                "by {2}, (quantity {3}).", item.Description, _
                item.Quantity, replacement.Description, replacement.Quantity)

        ElseIf e.ChangeType = ChangeType.Cleared Then
            Console.WriteLine("The order list was cleared.")

        Else
            Console.WriteLine("{0} (quantity {1}) was {2}.", _
                item.Description, item.Quantity, e.ChangeType)
        End If
    End Sub
End Class

' This class represents a simple line item in an order. All the 
' values are immutable except quantity.
' 
Public Class OrderItem
    
    Private _partNumber As Integer
    Private _description As String
    Private _unitPrice As Double
    Private _quantity As Integer

    Public ReadOnly Property PartNumber As Integer
        Get
            Return _partNumber
        End Get
    End Property

    Public ReadOnly Property Description As String
        Get
            Return _description
        End Get
    End Property

    Public ReadOnly Property UnitPrice As Double
        Get
            Return _unitPrice
        End Get
    End Property
    
    Public ReadOnly Property Quantity() As Integer 
        Get
            Return _quantity
        End Get
    End Property
    
    Public Sub New(ByVal partNumber As Integer, _
                   ByVal description As String, _
                   ByVal quantity As Integer, _
                   ByVal unitPrice As Double) 
        _partNumber = partNumber
        _description = description
        _quantity = quantity
        _unitPrice = unitPrice
    End Sub
        
    Public Overrides Function ToString() As String 
        Return String.Format( _
            "{0,9} {1,6} {2,-12} at {3,8:#,###.00} = {4,10:###,###.00}", _
            PartNumber, _quantity, Description, UnitPrice, _
            UnitPrice * _quantity)
    End Function
End Class

' This code example produces the following output:
'
'Widget (quantity 400) was Added.
'Sprocket (quantity 27) was Added.
'Motor (quantity 10) was Added.
'Gear (quantity 175) was Added.
'
'110072674    400 Widget       at    45.17 =  18,068.00
'110072675     27 Sprocket     at     5.30 =     143.10
'101030411     10 Motor        at   237.50 =   2,375.00
'110072684    175 Gear         at     5.17 =     904.75
'
'Contains(101030411): True
'
'weekly(101030411).Description: Motor
'
'Remove(101030411)
'Motor (quantity 10) was Removed.
'
'Insert(2, New OrderItem(...))
'Nut (quantity 10) was Added.
'
'coweekly(2).Description: Nut
'
'coweekly(2) = New OrderItem(...)
'Nut (quantity 10) was replaced by Crank, (quantity 27).
'
'IndexOf(temp): 2
'
'Remove(temp)
'Crank (quantity 27) was Removed.
'
'RemoveAt(0)
'Widget (quantity 400) was Removed.
'
'coweekly(1) = New OrderItem(...)
'Gear (quantity 175) was replaced by Gear, (quantity 1175).
'
'110072675     27 Sprocket     at     5.30 =     143.10
'110072684   1175 Gear         at     5.17 =   6,074.75
'
'The order list was cleared.

Megjegyzések

Az KeyedCollection<TKey,TItem> osztály O(1) indexelt lekérést és kulcsos lekérést is biztosít, amely az O(1) felé közelít. Absztrakciós típus, pontosabban absztrakciós típusok végtelen készlete, mivel az összes létrehozott általános típus absztrakt alaposztály. A használathoz KeyedCollection<TKey,TItem>származtathatja a gyűjtemény típusát a megfelelő összeállított típusból.

Az KeyedCollection<TKey,TItem> osztály hibrid az általános felületen alapuló gyűjtemény és az IList<T> általános felületen alapuló IDictionary<TKey,TValue> gyűjtemény között. Az általános felületen KeyedCollection<TKey,TItem> alapuló IList<T> gyűjteményekhez hasonlóan az elemek indexelt listája is. Az általános felületen KeyedCollection<TKey,TItem> alapuló gyűjteményekhez hasonlóan minden IDictionary<TKey,TValue> elemhez tartozik egy kulcs.

A szótáraktól eltérően az elem KeyedCollection<TKey,TItem> nem kulcs/érték pár, hanem az egész elem az érték, a kulcs pedig az értékbe van ágyazva. Például egy KeyedCollection\<String,String> (KeyedCollection(Of String, String) Visual Basic) gyűjtemény egyik eleme lehet "Ifj. John Doe", ahol az érték "Ifj. John Doe", a kulcs pedig "Doe"; vagy az egész számot tartalmazó alkalmazottak rekordjainak gyűjteménye származtatható KeyedCollection\<int,Employee>. Az absztrakt GetKeyForItem metódus kinyeri a kulcsot az elemből.

Alapértelmezés szerint ez KeyedCollection<TKey,TItem> tartalmaz egy keresési szótárt, amelyet a Dictionary tulajdonsággal szerezhet be. Amikor hozzáad egy elemet a KeyedCollection<TKey,TItem>fájlhoz, a rendszer egyszer kinyeri az elem kulcsát, és menti a keresési szótárba a gyorsabb keresés érdekében. Ezt a viselkedést felülbírálódhat egy szótárlétrehozási küszöbérték megadásával a KeyedCollection<TKey,TItem>létrehozásakor. A keresési szótár akkor jön létre először, amikor az elemek száma meghaladja ezt a küszöbértéket. Ha küszöbértékként -1 ad meg, a keresési szótár soha nem jön létre.

Note

Ha a belső keresőszótárat használja, a gyűjtemény összes elemére hivatkozik, ha TItem hivatkozástípus, vagy ha értéktípus, akkor a gyűjtemény TItem összes elemének másolata. Ezért a keresési szótár használata nem feltétlenül megfelelő TItem értéktípus esetén.

Az elemeket a tulajdonság használatával érheti el az index vagy a Item[] kulcs alapján. Kulcs nélkül is hozzáadhat elemeket, de ezeket az elemeket később csak index használatával érheti el.

Konstruktorok

Name Description
KeyedCollection<TKey,TItem>()

Inicializálja az KeyedCollection<TKey,TItem> alapértelmezett egyenlőség-összehasonlítót használó osztály új példányát.

KeyedCollection<TKey,TItem>(IEqualityComparer<TKey>, Int32)

Inicializálja a KeyedCollection<TKey,TItem> megadott egyenlőség-összehasonlítót használó osztály új példányát, és létrehoz egy keresési szótárt a megadott küszöbérték túllépésekor.

KeyedCollection<TKey,TItem>(IEqualityComparer<TKey>)

Inicializálja a KeyedCollection<TKey,TItem> megadott egyenlőség-összehasonlítót használó osztály új példányát.

Tulajdonságok

Name Description
Comparer

Lekéri a gyűjtemény kulcsainak egyenlőségének meghatározásához használt általános egyenlőség-összehasonlítót.

Count

Lekéri a ténylegesen tartalmazott elemek számát a Collection<T>.

(Öröklődés forrása Collection<T>)
Dictionary

Lekéri a keresési szótárat a KeyedCollection<TKey,TItem>.

Item[Int32]

Lekéri vagy beállítja az elemet a megadott indexen.

(Öröklődés forrása Collection<T>)
Item[TKey]

Lekéri az elemet a megadott kulccsal.

Items

Lekéri a IList<T> burkolót a Collection<T>.

(Öröklődés forrása Collection<T>)

Metódusok

Name Description
Add(T)

Objektumot ad hozzá a Collection<T>végéhez.

(Öröklődés forrása Collection<T>)
ChangeItemKey(TItem, TKey)

Módosítja a keresési szótár megadott eleméhez társított kulcsot.

Clear()

Eltávolítja az összes elemet a Collection<T>.

(Öröklődés forrása Collection<T>)
ClearItems()

Eltávolítja az összes elemet a KeyedCollection<TKey,TItem>.

Contains(TKey)

Meghatározza, hogy a gyűjtemény tartalmaz-e a megadott kulccsal rendelkező elemet.

CopyTo(T[], Int32)

A teljes Collection<T> példányt egy kompatibilis egydimenziósra Arraymásolja a céltömb megadott indexétől kezdve.

(Öröklődés forrása Collection<T>)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetEnumerator()

Egy enumerátort ad vissza, amely a Collection<T>.

(Öröklődés forrása Collection<T>)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetKeyForItem(TItem)

Származtatott osztályban implementálva kinyeri a kulcsot a megadott elemből.

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IndexOf(T)

Megkeresi a megadott objektumot, és az első előfordulás nulla alapú indexét adja vissza az egészben Collection<T>.

(Öröklődés forrása Collection<T>)
Insert(Int32, T)

Elemet szúr be a Collection<T> megadott indexbe.

(Öröklődés forrása Collection<T>)
InsertItem(Int32, T)

Elemet szúr be a Collection<T> megadott indexbe.

(Öröklődés forrása Collection<T>)
InsertItem(Int32, TItem)

Elemet szúr be a KeyedCollection<TKey,TItem> megadott indexbe.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
Remove(TKey)

Eltávolítja a megadott kulccsal rendelkező elemet a KeyedCollection<TKey,TItem>.

RemoveAt(Int32)

Eltávolítja az elemet a megadott indexben.Collection<T>

(Öröklődés forrása Collection<T>)
RemoveItem(Int32)

Eltávolítja az elemet a megadott indexben.KeyedCollection<TKey,TItem>

SetItem(Int32, T)

Lecseréli az elemet a megadott indexben.

(Öröklődés forrása Collection<T>)
SetItem(Int32, TItem)

A megadott indexben lévő elemet lecseréli a megadott elemre.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
TryGetValue(TKey, TItem)

Megpróbál lekérni egy elemet a gyűjteményből a megadott kulccsal.

Explicit interfész-implementációk

Name Description
ICollection.CopyTo(Array, Int32)

Az elemeket ICollection egy adott indextől kezdve másolja Arrayegy adott Array indexbe.

(Öröklődés forrása Collection<T>)
ICollection.IsSynchronized

Beolvas egy értéket, amely jelzi, hogy a ICollection hozzáférés szinkronizálva van-e (a szál biztonságos).

(Öröklődés forrása Collection<T>)
ICollection.SyncRoot

Lekéri az objektumot, amely a hozzáférés szinkronizálására használható.ICollection

(Öröklődés forrása Collection<T>)
ICollection<T>.IsReadOnly

Beolvas egy értéket, amely jelzi, hogy az ICollection<T> írásvédett-e.

(Öröklődés forrása Collection<T>)
IEnumerable.GetEnumerator()

Egy gyűjteményen keresztül iteráló enumerátort ad vissza.

(Öröklődés forrása Collection<T>)
IList.Add(Object)

Elemet ad hozzá a IList.

(Öröklődés forrása Collection<T>)
IList.Contains(Object)

Meghatározza, hogy az IList adott érték tartalmaz-e.

(Öröklődés forrása Collection<T>)
IList.IndexOf(Object)

Egy adott elem indexét határozza meg a IList.

(Öröklődés forrása Collection<T>)
IList.Insert(Int32, Object)

Beszúr egy elemet a IList megadott indexbe.

(Öröklődés forrása Collection<T>)
IList.IsFixedSize

Egy értéket kap, amely jelzi, hogy a IList méret rögzített-e.

(Öröklődés forrása Collection<T>)
IList.IsReadOnly

Beolvas egy értéket, amely jelzi, hogy az IList írásvédett-e.

(Öröklődés forrása Collection<T>)
IList.Item[Int32]

Lekéri vagy beállítja az elemet a megadott indexen.

(Öröklődés forrása Collection<T>)
IList.Remove(Object)

Eltávolítja egy adott objektum első előfordulását a IList.

(Öröklődés forrása Collection<T>)

Bővítő metódusok

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

Egy akkumulátorfüggvényt alkalmaz egy sorozatra. A rendszer a megadott magértéket használja a kezdeti gyűjtőértékként, a megadott függvény pedig az eredményérték kiválasztásához.

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

Egy akkumulátorfüggvényt alkalmaz egy sorozatra. A rendszer a megadott magértéket használja a kezdeti gyűjtőértékként.

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

Egy akkumulátorfüggvényt alkalmaz egy sorozatra.

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

Meghatározza, hogy egy sorozat összes eleme megfelel-e egy feltételnek.

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

Szűrt elemgyűjteményt ad vissza, amely a forrásgyűjtemény minden csomópontjának elődeit tartalmazza. A gyűjtemény csak az egyező XName elemeket tartalmazza.

Ancestors<T>(IEnumerable<T>)

Olyan elemek gyűjteményét adja vissza, amelyek a forrásgyűjtemény minden csomópontjának elődeit tartalmazzák.

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

Meghatározza, hogy a sorozat bármely eleme megfelel-e egy feltételnek.

Any<TSource>(IEnumerable<TSource>)

Meghatározza, hogy a sorozat tartalmaz-e elemeket.

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

Hozzáfűz egy értéket a sorozat végéhez.

AsEnumerable<TSource>(IEnumerable<TSource>)

A beírt értéket adja eredményül IEnumerable<T>.

AsParallel(IEnumerable)

Lehetővé teszi a lekérdezés párhuzamosítását.

AsParallel<TSource>(IEnumerable<TSource>)

Lehetővé teszi a lekérdezés párhuzamosítását.

AsQueryable(IEnumerable)

Átalakítja az egyiket IEnumerableIQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Általánossá alakít át egy általánost IEnumerable<T>IQueryable<T>.

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

Kiszámítja az értékek sorozatának átlagát Decimal , amelyet egy átalakítási függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja az értékek sorozatának átlagát Double , amelyet egy átalakítási függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja az értékek sorozatának átlagát Int32 , amelyet egy átalakítási függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja az értékek sorozatának átlagát Int64 , amelyet egy átalakítási függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja a null értékű Decimal értékek sorozatának átlagát, amelyet egy transzformációs függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja a null értékű Double értékek sorozatának átlagát, amelyet egy transzformációs függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja a null értékű Int32 értékek sorozatának átlagát, amelyet egy transzformációs függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja a null értékű Int64 értékek sorozatának átlagát, amelyet egy transzformációs függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja a null értékű Single értékek sorozatának átlagát, amelyet egy transzformációs függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja az értékek sorozatának átlagát Single , amelyet egy átalakítási függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

Cast<TResult>(IEnumerable)

Egy elem elemeit IEnumerable a megadott típusra veti.

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

Összefűz két sorozatot.

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

Meghatározza, hogy egy szekvencia egy megadott elemet tartalmaz-e egy megadott IEqualityComparer<T>elem használatával.

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

Meghatározza, hogy egy sorozat tartalmaz-e egy adott elemet az alapértelmezett egyenlőség-összehasonlító használatával.

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

Objektumok másolása DataRow a megadott DataTableértékre egy olyan bemeneti IEnumerable<T> objektum alapján, amelyben az általános paraméter T szerepel DataRow.

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

Objektumok másolása DataRow a megadott DataTableértékre egy olyan bemeneti IEnumerable<T> objektum alapján, amelyben az általános paraméter T szerepel DataRow.

CopyToDataTable<T>(IEnumerable<T>)

Olyan értéket ad DataTable vissza, amely az DataRow objektumok másolatait tartalmazza, egy olyan bemeneti IEnumerable<T> objektumot ad vissza, amelyben az általános paraméter T szerepel DataRow.

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

Egy számot ad vissza, amely azt jelzi, hogy a megadott sorozat hány eleme felel meg egy feltételnek.

Count<TSource>(IEnumerable<TSource>)

A sorozat elemeinek számát adja vissza.

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

A megadott sorozat elemeit vagy a megadott értéket adja vissza egy önálló gyűjteményben, ha a sorozat üres.

DefaultIfEmpty<TSource>(IEnumerable<TSource>)

A megadott sorozat elemeit vagy a típusparaméter alapértelmezett értékét adja vissza egy adott gyűjteményben, ha a sorozat üres.

DescendantNodes<T>(IEnumerable<T>)

A forrásgyűjtemény minden dokumentumának és elemének leszármazott csomópontjainak gyűjteményét adja vissza.

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

A forrásgyűjtemény minden elemének és dokumentumának leszármazott elemeit tartalmazó szűrt elemgyűjteményt ad vissza. A gyűjtemény csak az egyező XName elemeket tartalmazza.

Descendants<T>(IEnumerable<T>)

Olyan elemek gyűjteményét adja vissza, amelyek a forrásgyűjtemény minden elemének és dokumentumának leszármazott elemeit tartalmazzák.

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

Különböző elemeket ad vissza egy sorozatból egy megadott IEqualityComparer<T> érték összehasonlítása gombra kattintva.

Distinct<TSource>(IEnumerable<TSource>)

Az értékek összehasonlításához az alapértelmezett egyenlőség-összehasonlítóval különböző elemeket ad vissza egy sorozatból.

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

Egy adott index elemet ad vissza egy sorozatban.

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

Egy adott index elemet ad vissza egy sorozatban, vagy egy alapértelmezett értéket, ha az index túllépi a tartományt.

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

A forrásgyűjtemény minden elemének és dokumentumának gyermekelemeinek szűrt gyűjteményét adja vissza. A gyűjtemény csak az egyező XName elemeket tartalmazza.

Elements<T>(IEnumerable<T>)

A forrásgyűjteményben lévő összes elem és dokumentum gyermekelemeinek gyűjteményét adja vissza.

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

Két sorozat halmazkülönbségét állítja elő a megadott IEqualityComparer<T> értékek összehasonlításához.

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

Két sorozat halmazkülönbségét állítja elő az alapértelmezett egyenlőség-összehasonlítóval az értékek összehasonlításához.

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

Egy adott feltételnek megfelelő sorozat első elemét adja vissza.

First<TSource>(IEnumerable<TSource>)

Egy sorozat első elemét adja vissza.

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

A sorozat első olyan elemét adja vissza, amely megfelel egy feltételnek vagy egy alapértelmezett értéknek, ha nem található ilyen elem.

FirstOrDefault<TSource>(IEnumerable<TSource>)

Egy sorozat első elemét adja vissza, vagy egy alapértelmezett értéket, ha a sorozat nem tartalmaz elemeket.

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

Csoportosítja a szekvencia elemeit egy megadott kulcsválasztó függvény szerint, és létrehoz egy eredményértéket az egyes csoportokból és kulcsából. A fő értékeket egy megadott összehasonlító használatával hasonlítjuk össze, és az egyes csoportok elemeit egy megadott függvény használatával vetjük ki.

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

Csoportosítja a szekvencia elemeit egy megadott kulcsválasztó függvény szerint, és létrehoz egy eredményértéket az egyes csoportokból és kulcsából. Az egyes csoportok elemei egy adott függvény használatával lesznek kivetítve.

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

A szekvencia elemeit egy kulcsválasztó függvény szerint csoportosítja. A kulcsok összehasonlításához összehasonlítót kell használni, és az egyes csoportok elemeit egy megadott függvény használatával vetjük előre.

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

A szekvencia elemeit egy megadott kulcsválasztó függvény szerint csoportosítja, és az egyes csoportok elemeit egy megadott függvény használatával kivetíti.

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

Csoportosítja a szekvencia elemeit egy megadott kulcsválasztó függvény szerint, és létrehoz egy eredményértéket az egyes csoportokból és kulcsából. A kulcsok összehasonlítása egy megadott összehasonlító használatával történik.

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

Csoportosítja a szekvencia elemeit egy megadott kulcsválasztó függvény szerint, és létrehoz egy eredményértéket az egyes csoportokból és kulcsából.

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

Egy sorozat elemeit egy megadott kulcsválasztó függvény szerint csoportosítja, és egy megadott összehasonlító használatával összehasonlítja a kulcsokat.

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

A szekvencia elemeit egy megadott kulcsválasztó függvény szerint csoportosítja.

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

Két sorozat elemeit korrelálja a kulcsegyenlőség alapján, és csoportosítja az eredményeket. A megadott IEqualityComparer<T> érték a kulcsok összehasonlítására szolgál.

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

Két sorozat elemeit korrelálja a kulcsok egyenlősége alapján, és csoportosítja az eredményeket. Az alapértelmezett egyenlőség-összehasonlító a kulcsok összehasonlítására szolgál.

InDocumentOrder<T>(IEnumerable<T>)

Olyan csomópontgyűjteményt ad vissza, amely a forrásgyűjtemény összes csomópontját tartalmazza, dokumentum sorrendben rendezve.

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

Két sorozat metszéspontját állítja elő a megadott IEqualityComparer<T> értékek összehasonlításához.

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

Két sorozat metszéspontját állítja elő az alapértelmezett egyenlőség-összehasonlítóval az értékek összehasonlításához.

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

Két sorozat elemeit korrelálja egyező kulcsok alapján. A megadott IEqualityComparer<T> érték a kulcsok összehasonlítására szolgál.

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

Két sorozat elemeit korrelálja egyező kulcsok alapján. Az alapértelmezett egyenlőség-összehasonlító a kulcsok összehasonlítására szolgál.

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

Egy adott feltételnek megfelelő sorozat utolsó elemét adja vissza.

Last<TSource>(IEnumerable<TSource>)

Egy sorozat utolsó elemét adja vissza.

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

Egy olyan sorozat utolsó elemét adja vissza, amely megfelel egy feltételnek vagy egy alapértelmezett értéknek, ha nem található ilyen elem.

LastOrDefault<TSource>(IEnumerable<TSource>)

Egy sorozat utolsó elemét adja vissza, vagy egy alapértelmezett értéket, ha a sorozat nem tartalmaz elemeket.

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

Olyan értéket Int64 ad vissza, amely azt jelzi, hogy egy sorozat hány eleme felel meg egy feltételnek.

LongCount<TSource>(IEnumerable<TSource>)

Olyan értéket Int64 ad vissza, amely egy sorozat elemeinek teljes számát jelöli.

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

Meghív egy átalakítási függvényt egy általános sorozat minden elemére, és visszaadja az eredményül kapott maximális értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a maximális Decimal értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a maximális Double értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a maximális Int32 értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a maximális Int64 értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a maximális null értékű Decimal értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a maximális null értékű Double értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a maximális null értékű Int32 értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a maximális null értékű Int64 értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a maximális null értékű Single értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a maximális Single értéket.

Max<TSource>(IEnumerable<TSource>)

Egy általános sorozat maximális értékét adja vissza.

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

Meghív egy átalakítási függvényt egy általános sorozat minden elemére, és visszaadja az eredményül kapott minimális értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a minimális Decimal értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a minimális Double értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a minimális Int32 értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a minimális Int64 értéket.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és a minimális null értékű Decimal értéket adja vissza.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és a minimális null értékű Double értéket adja vissza.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és a minimális null értékű Int32 értéket adja vissza.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és a minimális null értékű Int64 értéket adja vissza.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és a minimális null értékű Single értéket adja vissza.

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

Meghív egy átalakítási függvényt egy sorozat minden elemére, és visszaadja a minimális Single értéket.

Min<TSource>(IEnumerable<TSource>)

Egy általános sorozat minimális értékét adja vissza.

Nodes<T>(IEnumerable<T>)

A forrásgyűjtemény minden dokumentumának és elemének gyermekcsomópontjait adja vissza.

OfType<TResult>(IEnumerable)

Egy adott típus alapján szűri IEnumerable egy adott elem elemeit.

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

Egy sorozat elemeit növekvő sorrendbe rendezi egy megadott összehasonlító használatával.

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

Egy sorozat elemeit növekvő sorrendbe rendezi egy kulcs alapján.

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

Egy sorozat elemeit csökkenő sorrendbe rendezi egy megadott összehasonlító használatával.

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

A sorozat elemeit egy kulcs alapján csökkenő sorrendbe rendezi.

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

Értéket ad hozzá a sorozat elejéhez.

Remove<T>(IEnumerable<T>)

Eltávolítja a forrásgyűjtemény összes csomópontját a szülőcsomópontról.

Reverse<TSource>(IEnumerable<TSource>)

Megfordítja az elemek sorrendjét egy sorrendben.

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

Az elem indexének beépítésével a sorozat minden elemét új formába alakítja.

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

A sorozat egyes elemeit új űrlapra alakítja.

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

Egy sorozat egyes elemeit egy-egy IEnumerable<T>sorozatra kivetíti, az eredményül kapott sorozatokat egy sorozatba alakítja, és meghív egy eredményválasztó függvényt az egyes elemeken.

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

Egy sorozat egyes elemeit egy-egy IEnumerable<T>sorozatra kivetíti, az eredményül kapott sorozatokat egy sorozatba alakítja, és meghív egy eredményválasztó függvényt az egyes elemeken. Az egyes forráselemek indexét az elem köztes, előre jelzett formájában használja a rendszer.

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

Egy sorozat egyes elemeit egy-egy IEnumerable<T> sorozatra alakítja, és az eredményül kapott sorozatokat egy sorozatba simítja.

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

A sorozat egyes elemeit egy IEnumerable<T>- és egybesimítja, és az eredményül kapott sorozatokat egy sorozattá alakítja. Az egyes forráselemek indexét az elem előre jelzett formájában használja a rendszer.

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

Meghatározza, hogy két sorozat egyenlő-e, ha az elemeket egy megadott IEqualityComparer<T>használatával hasonlítja össze.

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

Meghatározza, hogy két sorozat egyenlő-e azzal, hogy összehasonlítja az elemeket az alapértelmezett egyenlőség-összehasonlító használatával a típusukhoz.

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

Egy adott feltételnek megfelelő sorozat egyetlen elemét adja vissza, és kivételt eredményez, ha több ilyen elem is létezik.

Single<TSource>(IEnumerable<TSource>)

Egy sorozat egyetlen elemét adja vissza, és kivételt ad vissza, ha nincs pontosan egy elem a sorozatban.

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

Egy sorozat egyetlen olyan elemét adja vissza, amely megfelel egy megadott feltételnek vagy egy alapértelmezett értéknek, ha nincs ilyen elem; ez a metódus kivételt eredményez, ha több elem is megfelel a feltételnek.

SingleOrDefault<TSource>(IEnumerable<TSource>)

Egy sorozat egyetlen elemét adja vissza, vagy egy alapértelmezett értéket, ha a sorozat üres; ez a metódus kivételt eredményez, ha a sorrendben több elem is szerepel.

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

Adott számú elemet ad át egy sorozatban, majd visszaadja a fennmaradó elemeket.

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

Egy új, számbavételre alkalmas gyűjteményt ad vissza, amely a forrásgyűjtemény utolsó count elemeiből kihagyott source elemeket tartalmazza.

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

A sorozat elemeit addig adja át, amíg egy megadott feltétel igaz, majd visszaadja a fennmaradó elemeket.

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

A sorozat elemeit addig adja át, amíg egy megadott feltétel igaz, majd visszaadja a fennmaradó elemeket. Az elem indexe a predikátumfüggvény logikájában használatos.

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

Kiszámítja az értékek sorozatának Decimal összegét, amelyet egy átalakítási függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja az értékek sorozatának Double összegét, amelyet egy átalakítási függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja az értékek sorozatának Int32 összegét, amelyet egy átalakítási függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja az értékek sorozatának Int64 összegét, amelyet egy átalakítási függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja azoknak a null értékű Decimal értékeknek az összegét, amelyeket egy átalakító függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja azoknak a null értékű Double értékeknek az összegét, amelyeket egy átalakító függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja azoknak a null értékű Int32 értékeknek az összegét, amelyeket egy átalakító függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja azoknak a null értékű Int64 értékeknek az összegét, amelyeket egy átalakító függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja azoknak a null értékű Single értékeknek az összegét, amelyeket egy átalakító függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Kiszámítja az értékek sorozatának Single összegét, amelyet egy átalakítási függvény meghívásával kapunk a bemeneti sorozat egyes elemeire.

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

Megadott számú összefüggő elemet ad vissza a sorozat kezdetétől kezdve.

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

Egy új, számbavételre alkalmas gyűjteményt ad vissza, amely az utolsó count elemeket sourcetartalmazza.

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

Egy sorozat elemeit adja vissza mindaddig, amíg egy megadott feltétel igaz.

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

Egy sorozat elemeit adja vissza mindaddig, amíg egy megadott feltétel igaz. Az elem indexe a predikátumfüggvény logikájában használatos.

ToArray<TSource>(IEnumerable<TSource>)

Tömböt hoz létre egy IEnumerable<T>.

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

Létrehoz egy Dictionary<TKey,TValue>IEnumerable<T> adott kulcsválasztó függvény, egy összehasonlító és egy elemválasztó függvény alapján.

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

Létrehoz egy Dictionary<TKey,TValue>IEnumerable<T> megadott kulcsválasztó és elemválasztó függvény alapján.

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

Létrehoz egy Dictionary<TKey,TValue>IEnumerable<T> adott kulcsválasztó függvényt és kulcs-összehasonlítót.

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

Egy megadott kulcsválasztó függvény alapján hoz létre egy Dictionary<TKey,TValue>IEnumerable<T> értéket.

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

Létrehoz egy HashSet<T> olyan eszközt, IEnumerable<T> amely a comparer kulcsok összehasonlítására használható.

ToHashSet<TSource>(IEnumerable<TSource>)

Létrehoz egy HashSet<T>IEnumerable<T>.

ToImmutableArray<TSource>(IEnumerable<TSource>)

Módosíthatatlan tömböt hoz létre a megadott gyűjteményből.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>, IEqualityComparer<TValue>)

Számba és átalakít egy sorozatot, és a megadott kulcs- és érték-összehasonlítók használatával módosíthatatlan szótárt hoz létre a tartalmából.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>)

Számba és átalakít egy sorozatot, és a megadott kulcs-összehasonlító használatával módosíthatatlan szótárt hoz létre a tartalmából.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>)

Számbavétele és átalakítása egy sorozat, és létrehoz egy nem módosítható szótár a tartalmát.

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

Egy szekvencia valamilyen átalakításán alapuló nem módosítható szótárt hoz létre.

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

Egy nem módosítható szótárat hoz létre egy meglévő elemgyűjteményből, amely egy átalakítási függvényt alkalmaz a forráskulcsokra.

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

Számba veszi a sorozatot, módosíthatatlan kivonatkészletet hoz létre a tartalmából, és a megadott egyenlőség-összehasonlítót használja a készlettípushoz.

ToImmutableHashSet<TSource>(IEnumerable<TSource>)

Számba ad egy sorozatot, és a tartalma nem módosítható kivonatkészletet hoz létre.

ToImmutableList<TSource>(IEnumerable<TSource>)

Számba ad egy sorozatot, és megváltoztathatatlan listát hoz létre annak tartalmáról.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>, IEqualityComparer<TValue>)

Számba és átalakít egy sorozatot, és a megadott kulcs- és érték-összehasonlítók használatával módosíthatatlan rendezési szótárt hoz létre a tartalmaiból.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>)

Számbavesz és átalakít egy sorozatot, és a megadott kulcs-összehasonlító használatával módosíthatatlan rendezési szótárt hoz létre a tartalmaiból.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>)

Számbavétele és átalakítása egy sorozat, és létrehoz egy nem módosítható rendezett szótár a tartalmát.

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

Számba veszi a sorozatot, megváltoztathatatlan rendezési halmazt hoz létre, és a megadott összehasonlítót használja.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>)

Számba ad egy sorozatot, és megváltoztathatatlan rendezésű halmazt hoz létre annak tartalmából.

ToList<TSource>(IEnumerable<TSource>)

Létrehoz egy List<T>IEnumerable<T>.

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

Létrehoz egy Lookup<TKey,TElement>IEnumerable<T> adott kulcsválasztó függvény, egy összehasonlító és egy elemválasztó függvény alapján.

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

Létrehoz egy Lookup<TKey,TElement>IEnumerable<T> megadott kulcsválasztó és elemválasztó függvény alapján.

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

Létrehoz egy Lookup<TKey,TElement>IEnumerable<T> adott kulcsválasztó függvényt és kulcs-összehasonlítót.

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

Egy megadott kulcsválasztó függvény alapján hoz létre egy Lookup<TKey,TElement>IEnumerable<T> értéket.

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

Két sorozat halmazának egyesítését állítja elő egy megadott IEqualityComparer<T>paranccsel.

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

Két sorozat egyesítését állítja elő az alapértelmezett egyenlőség-összehasonlító használatával.

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

Egy predikátum alapján szűri az értékek sorozatát.

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

Egy predikátum alapján szűri az értékek sorozatát. Az egyes elemek indexét a predikátumfüggvény logikája használja.

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

Egy megadott függvényt alkalmaz a két sorozat megfelelő elemeire, és az eredmények sorozatát eredményezi.

A következőre érvényes:

Lásd még