List<T> Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет строго типизированный список объектов, доступных по индексу. Поддерживает методы для поиска по списку, выполнения сортировки и других операций со списками.
generic <typename T>
public ref class List : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IList<T>, System::Collections::Generic::IReadOnlyCollection<T>, System::Collections::Generic::IReadOnlyList<T>, System::Collections::IList
generic <typename T>
public ref class List : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IList<T>, System::Collections::IList
public class List<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IList<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.IReadOnlyList<T>, System.Collections.IList
[System.Serializable]
public class List<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IList<T>, System.Collections.IList
[System.Serializable]
public class List<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IList<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.IReadOnlyList<T>, System.Collections.IList
type List<'T> = class
interface ICollection<'T>
interface seq<'T>
interface IEnumerable
interface IList<'T>
interface IReadOnlyCollection<'T>
interface IReadOnlyList<'T>
interface ICollection
interface IList
[<System.Serializable>]
type List<'T> = class
interface IList<'T>
interface ICollection<'T>
interface seq<'T>
interface IList
interface ICollection
interface IEnumerable
[<System.Serializable>]
type List<'T> = class
interface IList<'T>
interface ICollection<'T>
interface IList
interface ICollection
interface IReadOnlyList<'T>
interface IReadOnlyCollection<'T>
interface seq<'T>
interface IEnumerable
[<System.Serializable>]
type List<'T> = class
interface IList<'T>
interface ICollection<'T>
interface seq<'T>
interface IEnumerable
interface IList
interface ICollection
interface IReadOnlyList<'T>
interface IReadOnlyCollection<'T>
type List<'T> = class
interface IList<'T>
interface ICollection<'T>
interface IReadOnlyList<'T>
interface IReadOnlyCollection<'T>
interface seq<'T>
interface IList
interface ICollection
interface IEnumerable
[<System.Serializable>]
type List<'T> = class
interface IList<'T>
interface IList
interface IReadOnlyList<'T>
interface ICollection<'T>
interface seq<'T>
interface IEnumerable
interface ICollection
interface IReadOnlyCollection<'T>
Public Class List(Of T)
Implements ICollection(Of T), IEnumerable(Of T), IList, IList(Of T), IReadOnlyCollection(Of T), IReadOnlyList(Of T)
Public Class List(Of T)
Implements ICollection(Of T), IEnumerable(Of T), IList, IList(Of T)
Параметры типа
- T
Тип элементов в списке.
- Наследование
-
List<T>
- Производный
- Атрибуты
- Реализации
Примеры
В следующем примере показано, как добавить, удалить и вставить простой бизнес-объект в List<T>.
using System;
using System.Collections.Generic;
// Simple business object. A PartId is used to identify the type of part
// but the part name can change.
public class Part : IEquatable<Part>
{
public string PartName { get; set; }
public int PartId { get; set; }
public override string ToString()
{
return "ID: " + PartId + " Name: " + PartName;
}
public override bool Equals(object obj)
{
if (obj == null) return false;
Part objAsPart = obj as Part;
if (objAsPart == null) return false;
else return Equals(objAsPart);
}
public override int GetHashCode()
{
return PartId;
}
public bool Equals(Part other)
{
if (other == null) return false;
return (this.PartId.Equals(other.PartId));
}
// Should also override == and != operators.
}
public class Example
{
public static void Main()
{
// Create a list of parts.
List<Part> parts = new List<Part>();
// Add parts to the list.
parts.Add(new Part() { PartName = "crank arm", PartId = 1234 });
parts.Add(new Part() { PartName = "chain ring", PartId = 1334 });
parts.Add(new Part() { PartName = "regular seat", PartId = 1434 });
parts.Add(new Part() { PartName = "banana seat", PartId = 1444 });
parts.Add(new Part() { PartName = "cassette", PartId = 1534 });
parts.Add(new Part() { PartName = "shift lever", PartId = 1634 });
// Write out the parts in the list. This will call the overridden ToString method
// in the Part class.
Console.WriteLine();
foreach (Part aPart in parts)
{
Console.WriteLine(aPart);
}
// Check the list for part #1734. This calls the IEquatable.Equals method
// of the Part class, which checks the PartId for equality.
Console.WriteLine("\nContains(\"1734\"): {0}",
parts.Contains(new Part { PartId = 1734, PartName = "" }));
// Insert a new item at position 2.
Console.WriteLine("\nInsert(2, \"1834\")");
parts.Insert(2, new Part() { PartName = "brake lever", PartId = 1834 });
//Console.WriteLine();
foreach (Part aPart in parts)
{
Console.WriteLine(aPart);
}
Console.WriteLine("\nParts[3]: {0}", parts[3]);
Console.WriteLine("\nRemove(\"1534\")");
// This will remove part 1534 even though the PartName is different,
// because the Equals method only checks PartId for equality.
parts.Remove(new Part() { PartId = 1534, PartName = "cogs" });
Console.WriteLine();
foreach (Part aPart in parts)
{
Console.WriteLine(aPart);
}
Console.WriteLine("\nRemoveAt(3)");
// This will remove the part at index 3.
parts.RemoveAt(3);
Console.WriteLine();
foreach (Part aPart in parts)
{
Console.WriteLine(aPart);
}
/*
ID: 1234 Name: crank arm
ID: 1334 Name: chain ring
ID: 1434 Name: regular seat
ID: 1444 Name: banana seat
ID: 1534 Name: cassette
ID: 1634 Name: shift lever
Contains("1734"): False
Insert(2, "1834")
ID: 1234 Name: crank arm
ID: 1334 Name: chain ring
ID: 1834 Name: brake lever
ID: 1434 Name: regular seat
ID: 1444 Name: banana seat
ID: 1534 Name: cassette
ID: 1634 Name: shift lever
Parts[3]: ID: 1434 Name: regular seat
Remove("1534")
ID: 1234 Name: crank arm
ID: 1334 Name: chain ring
ID: 1834 Name: brake lever
ID: 1434 Name: regular seat
ID: 1444 Name: banana seat
ID: 1634 Name: shift lever
RemoveAt(3)
ID: 1234 Name: crank arm
ID: 1334 Name: chain ring
ID: 1834 Name: brake lever
ID: 1444 Name: banana seat
ID: 1634 Name: shift lever
*/
}
}
Imports System.Collections.Generic
' Simple business object. A PartId is used to identify the type of part
' but the part name can change.
Public Class Part
Implements IEquatable(Of Part)
Public Property PartName() As String
Get
Return m_PartName
End Get
Set(value As String)
m_PartName = Value
End Set
End Property
Private m_PartName As String
Public Property PartId() As Integer
Get
Return m_PartId
End Get
Set(value As Integer)
m_PartId = Value
End Set
End Property
Private m_PartId As Integer
Public Overrides Function ToString() As String
Return "ID: " & PartId & " Name: " & PartName
End Function
Public Overrides Function Equals(obj As Object) As Boolean
If obj Is Nothing Then
Return False
End If
Dim objAsPart As Part = TryCast(obj, Part)
If objAsPart Is Nothing Then
Return False
Else
Return Equals(objAsPart)
End If
End Function
Public Overrides Function GetHashCode() As Integer
Return PartId
End Function
Public Overloads Function Equals(other As Part) As Boolean _
Implements IEquatable(Of Part).Equals
If other Is Nothing Then
Return False
End If
Return (Me.PartId.Equals(other.PartId))
End Function
' Should also override == and != operators.
End Class
Public Class Example
Public Shared Sub Main()
' Create a list of parts.
Dim parts As New List(Of Part)()
' Add parts to the list.
parts.Add(New Part() With { _
.PartName = "crank arm", _
.PartId = 1234 _
})
parts.Add(New Part() With { _
.PartName = "chain ring", _
.PartId = 1334 _
})
parts.Add(New Part() With { _
.PartName = "regular seat", _
.PartId = 1434 _
})
parts.Add(New Part() With { _
.PartName = "banana seat", _
.PartId = 1444 _
})
parts.Add(New Part() With { _
.PartName = "cassette", _
.PartId = 1534 _
})
parts.Add(New Part() With { _
.PartName = "shift lever", _
.PartId = 1634 _
})
' Write out the parts in the list. This will call the overridden ToString method
' in the Part class.
Console.WriteLine()
For Each aPart As Part In parts
Console.WriteLine(aPart)
Next
' Check the list for part #1734. This calls the IEquatable.Equals method
' of the Part class, which checks the PartId for equality.
Console.WriteLine(vbLf & "Contains(""1734""): {0}", parts.Contains(New Part() With { _
.PartId = 1734, _
.PartName = "" _
}))
' Insert a new item at position 2.
Console.WriteLine(vbLf & "Insert(2, ""1834"")")
parts.Insert(2, New Part() With { _
.PartName = "brake lever", _
.PartId = 1834 _
})
'Console.WriteLine();
For Each aPart As Part In parts
Console.WriteLine(aPart)
Next
Console.WriteLine(vbLf & "Parts[3]: {0}", parts(3))
Console.WriteLine(vbLf & "Remove(""1534"")")
' This will remove part 1534 even though the PartName is different,
' because the Equals method only checks PartId for equality.
parts.Remove(New Part() With { _
.PartId = 1534, _
.PartName = "cogs" _
})
Console.WriteLine()
For Each aPart As Part In parts
Console.WriteLine(aPart)
Next
Console.WriteLine(vbLf & "RemoveAt(3)")
' This will remove part at index 3.
parts.RemoveAt(3)
Console.WriteLine()
For Each aPart As Part In parts
Console.WriteLine(aPart)
Next
End Sub
'
' This example code produces the following output:
' ID: 1234 Name: crank arm
' ID: 1334 Name: chain ring
' ID: 1434 Name: regular seat
' ID: 1444 Name: banana seat
' ID: 1534 Name: cassette
' ID: 1634 Name: shift lever
'
' Contains("1734"): False
'
' Insert(2, "1834")
' ID: 1234 Name: crank arm
' ID: 1334 Name: chain ring
' ID: 1834 Name: brake lever
' ID: 1434 Name: regular seat
' ID: 1444 Name: banana seat
' ID: 1534 Name: cassette
' ID: 1634 Name: shift lever
'
' Parts[3]: ID: 1434 Name: regular seat
'
' Remove("1534")
'
' ID: 1234 Name: crank arm
' ID: 1334 Name: chain ring
' ID: 1834 Name: brake lever
' ID: 1434 Name: regular seat
' ID: 1444 Name: banana seat
' ID: 1634 Name: shift lever
' '
' RemoveAt(3)
'
' ID: 1234 Name: crank arm
' ID: 1334 Name: chain ring
' ID: 1834 Name: brake lever
' ID: 1444 Name: banana seat
' ID: 1634 Name: shift lever
'
End Class
// Simple business object. A PartId is used to identify the type of part
// but the part name can change.
[<CustomEquality; NoComparison>]
type Part = { PartId : int ; mutable PartName : string } with
override this.GetHashCode() = hash this.PartId
override this.Equals(other) =
match other with
| :? Part as p -> this.PartId = p.PartId
| _ -> false
override this.ToString() = sprintf "ID: %i Name: %s" this.PartId this.PartName
[<EntryPoint>]
let main argv =
// We refer to System.Collections.Generic.List<'T> by its type
// abbreviation ResizeArray<'T> to avoid conflicts with the F# List module.
// Note: In F# code, F# linked lists are usually preferred over
// ResizeArray<'T> when an extendable collection is required.
let parts = ResizeArray<_>()
parts.Add({PartName = "crank arm" ; PartId = 1234})
parts.Add({PartName = "chain ring"; PartId = 1334 })
parts.Add({PartName = "regular seat"; PartId = 1434 })
parts.Add({PartName = "banana seat"; PartId = 1444 })
parts.Add({PartName = "cassette"; PartId = 1534 })
parts.Add({PartName = "shift lever"; PartId = 1634 })
// Write out the parts in the ResizeArray. This will call the overridden ToString method
// in the Part type
printfn ""
parts |> Seq.iter (fun p -> printfn "%O" p)
// Check the ResizeArray for part #1734. This calls the IEquatable.Equals method
// of the Part type, which checks the PartId for equality.
printfn "\nContains(\"1734\"): %b" (parts.Contains({PartId=1734; PartName=""}))
// Insert a new item at position 2.
printfn "\nInsert(2, \"1834\")"
parts.Insert(2, { PartName = "brake lever"; PartId = 1834 })
// Write out all parts
parts |> Seq.iter (fun p -> printfn "%O" p)
printfn "\nParts[3]: %O" parts.[3]
printfn "\nRemove(\"1534\")"
// This will remove part 1534 even though the PartName is different,
// because the Equals method only checks PartId for equality.
// Since Remove returns true or false, we need to ignore the result
parts.Remove({PartId=1534; PartName="cogs"}) |> ignore
// Write out all parts
printfn ""
parts |> Seq.iter (fun p -> printfn "%O" p)
printfn "\nRemoveAt(3)"
// This will remove the part at index 3.
parts.RemoveAt(3)
// Write out all parts
printfn ""
parts |> Seq.iter (fun p -> printfn "%O" p)
0 // return an integer exit code
В следующем примере демонстрируется несколько свойств и методов универсального List<T> класса строки типа. (Пример сложного List<T> типа см. в методе Contains .)
Конструктор без параметров используется для создания списка строк с емкостью по умолчанию. Отображается Capacity свойство, а затем Add используется метод для добавления нескольких элементов. Элементы перечислены, и Capacity свойство отображается снова вместе со Count свойством, чтобы показать, что емкость была увеличена по мере необходимости.
Метод Contains используется для проверки наличия элемента в списке, Insert метод используется для вставки нового элемента в середине списка, а содержимое списка отображается снова.
Свойство по умолчанию Item[] (индексатор в C#) используется для извлечения элемента, Remove метод используется для удаления первого экземпляра дубликата элемента, добавленного ранее, и содержимое отображается снова. Метод Remove всегда удаляет первый экземпляр, с которым он сталкивается.
Этот TrimExcess метод используется для уменьшения емкости для сопоставления счетчика, а Capacity также Count отображаются свойства. Если неиспользуемая емкость была меньше 10 процентов от общей емкости, список не будет изменен.
Наконец, Clear метод используется для удаления всех элементов из списка и Capacity Count отображения свойств.
using namespace System;
using namespace System::Collections::Generic;
void main()
{
List<String^>^ dinosaurs = gcnew List<String^>();
Console::WriteLine("\nCapacity: {0}", dinosaurs->Capacity);
dinosaurs->Add("Tyrannosaurus");
dinosaurs->Add("Amargasaurus");
dinosaurs->Add("Mamenchisaurus");
dinosaurs->Add("Deinonychus");
dinosaurs->Add("Compsognathus");
Console::WriteLine();
for each(String^ dinosaur in dinosaurs )
{
Console::WriteLine(dinosaur);
}
Console::WriteLine("\nCapacity: {0}", dinosaurs->Capacity);
Console::WriteLine("Count: {0}", dinosaurs->Count);
Console::WriteLine("\nContains(\"Deinonychus\"): {0}",
dinosaurs->Contains("Deinonychus"));
Console::WriteLine("\nInsert(2, \"Compsognathus\")");
dinosaurs->Insert(2, "Compsognathus");
Console::WriteLine();
for each(String^ dinosaur in dinosaurs )
{
Console::WriteLine(dinosaur);
}
Console::WriteLine("\ndinosaurs[3]: {0}", dinosaurs[3]);
Console::WriteLine("\nRemove(\"Compsognathus\")");
dinosaurs->Remove("Compsognathus");
Console::WriteLine();
for each(String^ dinosaur in dinosaurs )
{
Console::WriteLine(dinosaur);
}
dinosaurs->TrimExcess();
Console::WriteLine("\nTrimExcess()");
Console::WriteLine("Capacity: {0}", dinosaurs->Capacity);
Console::WriteLine("Count: {0}", dinosaurs->Count);
dinosaurs->Clear();
Console::WriteLine("\nClear()");
Console::WriteLine("Capacity: {0}", dinosaurs->Capacity);
Console::WriteLine("Count: {0}", dinosaurs->Count);
}
/* This code example produces the following output:
Capacity: 0
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus
Capacity: 8
Count: 5
Contains("Deinonychus"): True
Insert(2, "Compsognathus")
Tyrannosaurus
Amargasaurus
Compsognathus
Mamenchisaurus
Deinonychus
Compsognathus
dinosaurs[3]: Mamenchisaurus
Remove("Compsognathus")
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus
TrimExcess()
Capacity: 5
Count: 5
Clear()
Capacity: 5
Count: 0
*/
List<string> dinosaurs = new List<string>();
Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);
dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Deinonychus");
dinosaurs.Add("Compsognathus");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);
Console.WriteLine("\nContains(\"Deinonychus\"): {0}",
dinosaurs.Contains("Deinonychus"));
Console.WriteLine("\nInsert(2, \"Compsognathus\")");
dinosaurs.Insert(2, "Compsognathus");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
// Shows accessing the list using the Item property.
Console.WriteLine("\ndinosaurs[3]: {0}", dinosaurs[3]);
Console.WriteLine("\nRemove(\"Compsognathus\")");
dinosaurs.Remove("Compsognathus");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
dinosaurs.TrimExcess();
Console.WriteLine("\nTrimExcess()");
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);
dinosaurs.Clear();
Console.WriteLine("\nClear()");
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);
/* This code example produces the following output:
Capacity: 0
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus
Capacity: 8
Count: 5
Contains("Deinonychus"): True
Insert(2, "Compsognathus")
Tyrannosaurus
Amargasaurus
Compsognathus
Mamenchisaurus
Deinonychus
Compsognathus
dinosaurs[3]: Mamenchisaurus
Remove("Compsognathus")
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus
TrimExcess()
Capacity: 5
Count: 5
Clear()
Capacity: 5
Count: 0
*/
Imports System.Collections.Generic
Public Class Example
Public Shared Sub Main()
Dim dinosaurs As New List(Of String)
Console.WriteLine(vbLf & "Capacity: {0}", dinosaurs.Capacity)
dinosaurs.Add("Tyrannosaurus")
dinosaurs.Add("Amargasaurus")
dinosaurs.Add("Mamenchisaurus")
dinosaurs.Add("Deinonychus")
dinosaurs.Add("Compsognathus")
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
Console.WriteLine(vbLf & "Capacity: {0}", dinosaurs.Capacity)
Console.WriteLine("Count: {0}", dinosaurs.Count)
Console.WriteLine(vbLf & "Contains(""Deinonychus""): {0}", _
dinosaurs.Contains("Deinonychus"))
Console.WriteLine(vbLf & "Insert(2, ""Compsognathus"")")
dinosaurs.Insert(2, "Compsognathus")
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
' Shows how to access the list using the Item property.
Console.WriteLine(vbLf & "dinosaurs(3): {0}", dinosaurs(3))
Console.WriteLine(vbLf & "Remove(""Compsognathus"")")
dinosaurs.Remove("Compsognathus")
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
dinosaurs.TrimExcess()
Console.WriteLine(vbLf & "TrimExcess()")
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity)
Console.WriteLine("Count: {0}", dinosaurs.Count)
dinosaurs.Clear()
Console.WriteLine(vbLf & "Clear()")
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity)
Console.WriteLine("Count: {0}", dinosaurs.Count)
End Sub
End Class
' This code example produces the following output:
'
'Capacity: 0
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Deinonychus
'Compsognathus
'
'Capacity: 8
'Count: 5
'
'Contains("Deinonychus"): True
'
'Insert(2, "Compsognathus")
'
'Tyrannosaurus
'Amargasaurus
'Compsognathus
'Mamenchisaurus
'Deinonychus
'Compsognathus
'
'dinosaurs(3): Mamenchisaurus
'
'Remove("Compsognathus")
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Deinonychus
'Compsognathus
'
'TrimExcess()
'Capacity: 5
'Count: 5
'
'Clear()
'Capacity: 5
'Count: 0
[<EntryPoint>]
let main argv =
// We refer to System.Collections.Generic.List<'T> by its type
// abbreviation ResizeArray<'T> to avoid conflict with the List module.
// Note: In F# code, F# linked lists are usually preferred over
// ResizeArray<'T> when an extendable collection is required.
let dinosaurs = ResizeArray<_>()
// Write out the dinosaurs in the ResizeArray.
let printDinosaurs() =
printfn ""
dinosaurs |> Seq.iter (fun p -> printfn "%O" p)
printfn "\nCapacity: %i" dinosaurs.Capacity
dinosaurs.Add("Tyrannosaurus")
dinosaurs.Add("Amargasaurus")
dinosaurs.Add("Mamenchisaurus")
dinosaurs.Add("Deinonychus")
dinosaurs.Add("Compsognathus")
printDinosaurs()
printfn "\nCapacity: %i" dinosaurs.Capacity
printfn "Count: %i" dinosaurs.Count
printfn "\nContains(\"Deinonychus\"): %b" (dinosaurs.Contains("Deinonychus"))
printfn "\nInsert(2, \"Compsognathus\")"
dinosaurs.Insert(2, "Compsognathus")
printDinosaurs()
// Shows accessing the list using the Item property.
printfn "\ndinosaurs[3]: %s" dinosaurs.[3]
printfn "\nRemove(\"Compsognathus\")"
dinosaurs.Remove("Compsognathus") |> ignore
printDinosaurs()
dinosaurs.TrimExcess()
printfn "\nTrimExcess()"
printfn "Capacity: %i" dinosaurs.Capacity
printfn "Count: %i" dinosaurs.Count
dinosaurs.Clear()
printfn "\nClear()"
printfn "Capacity: %i" dinosaurs.Capacity
printfn "Count: %i" dinosaurs.Count
0 // return an integer exit code
(* This code example produces the following output:
Capacity: 0
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus
Capacity: 8
Count: 5
Contains("Deinonychus"): true
Insert(2, "Compsognathus")
Tyrannosaurus
Amargasaurus
Compsognathus
Mamenchisaurus
Deinonychus
Compsognathus
dinosaurs[3]: Mamenchisaurus
Remove("Compsognathus")
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus
TrimExcess()
Capacity: 5
Count: 5
Clear()
Capacity: 5
Count: 0
*)
Комментарии
Класс List<T> является универсальным эквивалентом ArrayList класса. Он реализует универсальный IList<T> интерфейс с помощью массива, размер которого динамически увеличивается по мере необходимости.
Элементы можно добавлять в объект List<T> с помощью Add методов или AddRange методов.
Класс List<T> использует как средство сравнения на равенство, так и компратер упорядочения.
Такие методы, как Contains, IndexOfLastIndexOfи Remove используйте средство сравнения на равенство для элементов списка. Средство сравнения равенства по умолчанию для типа
T
определяется следующим образом. Если типT
реализует универсальный IEquatable<T> интерфейс, то средство сравнения на равенство является методом Equals(T) этого интерфейса; в противном случае используется Object.Equals(Object)средство сравнения равенства по умолчанию.Такие методы, как BinarySearch и Sort использование средства сравнения порядка для элементов списка. Средство сравнения по умолчанию для типа
T
определяется следующим образом. Если типT
реализует универсальный IComparable<T> интерфейс, то средство сравнения по умолчанию является CompareTo(T) методом этого интерфейса; в противном случае, если типT
реализует негенерический IComparable интерфейс, то средство сравнения по умолчанию является методом CompareTo(Object) этого интерфейса. Если типT
не реализует ни интерфейс, то нет средства сравнения по умолчанию, а делегат сравнения или сравнения должен быть предоставлен явным образом.
Сортировка List<T> не гарантируется. Необходимо отсортировать List<T> перед выполнением операций (например BinarySearch), которые требуют сортировки List<T> .
Доступ к элементам в этой коллекции можно получить с помощью целочисленного индекса. Индексы в этой коллекции основаны на нулях.
только платформа .NET Framework. Для очень больших List<T> объектов можно увеличить максимальную емкость до 2 миллиардов элементов в 64-разрядной системе, задав enabled
атрибут <gcAllowVeryLargeObjects>
элемента true
конфигурации в среде выполнения.
List<T>null
принимает в качестве допустимого значения для ссылочных типов и позволяет дублировать элементы.
Неизменяемая версия List<T> класса см. в разделе ImmutableList<T>.
Вопросы производительности
При принятии решения о том, следует ли использовать List<T> класс или ArrayList класс, оба из которых имеют аналогичную функциональность, помните, что List<T> класс работает лучше в большинстве случаев и является типобезопасно. Если ссылочный тип используется для типа T
List<T> класса, поведение двух классов идентично. Однако если тип значения используется для типа T
, необходимо рассмотреть проблемы реализации и бокса.
Если тип значения используется для типа T
, компилятор создает реализацию List<T> класса специально для этого типа значения. Это означает, что элемент List<T> списка объекта не нужно упаковать перед использованием элемента, а после создания около 500 элементов списка память, сохраненная не элементами списка бокса, больше памяти, используемой для создания реализации класса.
Убедитесь, что тип значения, используемый для типа T
, реализует универсальный IEquatable<T> интерфейс. В противном случае методы, такие как Contains должны вызывать Object.Equals(Object) метод, который упаковывает затронутый элемент списка. Если тип значения реализует IComparable интерфейс и вы владеете исходным кодом, также реализуйте IComparable<T> универсальный интерфейс, чтобы предотвратить BinarySearch отображение элементов списка и Sort методов. Если исходный код не принадлежит, передайте IComparer<T> объект BinarySearch в методы и Sort методы.
Вы можете использовать реализацию List<T> класса, относящийся к типу, вместо использования ArrayList класса или написания строго типизированной коллекции оболочки самостоятельно. Это связано с тем, что ваша реализация должна выполнять платформа .NET Framework уже, а среда CLR может совместно использовать код и метаданные промежуточного языка Майкрософт, которые не могут реализовать.
Рекомендации по F#
Класс List<T> используется редко в коде F#. Вместо этого списки, которые являются неизменяемыми, последовательно связанными списками, обычно предпочтительнее. F# List
предоставляет упорядоченный, неизменяемый ряд значений и поддерживается для использования в разработке функционального стиля. При использовании из F# List<T> класс обычно ссылается на ResizeArray<'T>
сокращение типа, чтобы избежать конфликтов именования со списками F#.
Конструкторы
List<T>() |
Инициализирует новый экземпляр класса List<T>, который является пустым и имеет начальную емкость по умолчанию. |
List<T>(IEnumerable<T>) |
Инициализирует новый экземпляр List<T>, который содержит элементы, скопированные из указанной коллекции, и имеет емкость, достаточную для размещения всех скопированных элементов. |
List<T>(Int32) |
Инициализирует новый пустой экземпляр класса List<T> с указанной начальной емкостью. |
Свойства
Capacity |
Возвращает или задает общее число элементов, которые может вместить внутренняя структура данных без изменения размера. |
Count |
Получает число элементов, содержащихся в интерфейсе List<T>. |
Item[Int32] |
Возвращает или задает элемент по указанному индексу. |
Методы
Add(T) |
Добавляет объект в конец коллекции List<T>. |
AddRange(IEnumerable<T>) |
Добавляет элементы указанной коллекции в конец списка List<T>. |
AsReadOnly() |
Возвращает для текущей коллекции оболочку ReadOnlyCollection<T>, доступную только для чтения. |
BinarySearch(Int32, Int32, T, IComparer<T>) |
Выполняет поиск элемента в диапазоне элементов отсортированного списка List<T>, используя указанную функцию сравнения, и возвращает индекс элемента, отсчитываемый от нуля. |
BinarySearch(T) |
Выполняет поиск элемента по всему отсортированному списку List<T>, используя компаратор по умолчанию, и возвращает индекс элемента, отсчитываемый от нуля. |
BinarySearch(T, IComparer<T>) |
Выполняет поиск элемента по всему отсортированному списку List<T>, используя указанный компаратор, и возвращает индекс элемента, отсчитываемый от нуля. |
Clear() |
Удаляет из коллекции List<T> все элементы. |
Contains(T) |
Определяет, входит ли элемент в коллекцию List<T>. |
ConvertAll<TOutput>(Converter<T,TOutput>) |
Преобразует элементы текущего списка List<T> в другой тип и возвращает список преобразованных элементов. |
CopyTo(Int32, T[], Int32, Int32) |
Копирует диапазон элементов из списка List<T> в совместимый одномерный массив, начиная с указанного индекса конечного массива. |
CopyTo(T[]) |
Копирует весь список List<T> в совместимый одномерный массив, начиная с первого элемента целевого массива. |
CopyTo(T[], Int32) |
Копирует List<T> целиком в совместимый одномерный массив, начиная с указанного индекса конечного массива. |
EnsureCapacity(Int32) |
Гарантирует, что емкость этого списка является по крайней мере указанной |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Exists(Predicate<T>) |
Определяет, содержит ли List<T> элементы, удовлетворяющие условиям указанного предиката. |
Find(Predicate<T>) |
Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает первое найденное вхождение в пределах всего списка List<T>. |
FindAll(Predicate<T>) |
Извлекает все элементы, удовлетворяющие условиям указанного предиката. |
FindIndex(Int32, Int32, Predicate<T>) |
Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List<T>, начинающемся с заданного индекса и содержащем указанное число элементов. |
FindIndex(Int32, Predicate<T>) |
Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List<T>, начиная с заданного индекса и заканчивая последним элементом. |
FindIndex(Predicate<T>) |
Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает отсчитываемый от нуля индекс первого найденного вхождения в пределах всего списка List<T>. |
FindLast(Predicate<T>) |
Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает последнее найденное вхождение в пределах всего списка List<T>. |
FindLastIndex(Int32, Int32, Predicate<T>) |
Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает отсчитываемый от нуля индекс последнего вхождения в диапазоне элементов списка List<T>, содержащем указанное число элементов и заканчивающемся элементом с заданным индексом. |
FindLastIndex(Int32, Predicate<T>) |
Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает отсчитываемый от нуля индекс последнего вхождения в диапазоне элементов списка List<T>, начиная с первого элемента и заканчивая элементом с заданным индексом. |
FindLastIndex(Predicate<T>) |
Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает отсчитываемый от нуля индекс последнего найденного вхождения в пределах всего списка List<T>. |
ForEach(Action<T>) |
Выполняет указанное действие с каждым элементом списка List<T>. |
GetEnumerator() |
Возвращает перечислитель, осуществляющий перебор элементов списка List<T>. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetRange(Int32, Int32) |
Создает неполную копию диапазона элементов исходного списка List<T>. |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IndexOf(T) |
Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения, найденного в пределах всего списка List<T>. |
IndexOf(T, Int32) |
Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List<T>, начиная с заданного индекса и до последнего элемента. |
IndexOf(T, Int32, Int32) |
Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс его первого вхождения в диапазоне элементов списка List<T>, начинающемся с заданного индекса и содержащем указанное число элементов. |
Insert(Int32, T) |
Вставляет элемент в коллекцию List<T> по указанному индексу. |
InsertRange(Int32, IEnumerable<T>) |
Вставляет элементы коллекции в список List<T> в позиции с указанным индексом. |
LastIndexOf(T) |
Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс последнего вхождения, найденного в пределах всего списка List<T>. |
LastIndexOf(T, Int32) |
Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс последнего вхождения в диапазоне элементов списка List<T>, начиная с первого элемента и до позиции с заданным индексом. |
LastIndexOf(T, Int32, Int32) |
Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс последнего вхождения в диапазоне элементов списка List<T>, содержащем указанное число элементов и заканчивающемся в позиции с указанным индексом. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
Remove(T) |
Удаляет первое вхождение указанного объекта из коллекции List<T>. |
RemoveAll(Predicate<T>) |
Удаляет все элементы, удовлетворяющие условиям указанного предиката. |
RemoveAt(Int32) |
Удаляет элемент списка List<T> с указанным индексом. |
RemoveRange(Int32, Int32) |
Удаляет диапазон элементов из списка List<T>. |
Reverse() |
Изменяет порядок элементов во всем списке List<T> на обратный. |
Reverse(Int32, Int32) |
Изменяет порядок элементов в указанном диапазоне. |
Sort() |
Сортирует элементы во всем списке List<T> с помощью функции сравнения по умолчанию. |
Sort(Comparison<T>) |
Сортирует элементы во всем списке List<T> с использованием указанного Comparison<T>. |
Sort(IComparer<T>) |
Сортирует элементы во всем списке List<T> с помощью указанной функции сравнения. |
Sort(Int32, Int32, IComparer<T>) |
Сортирует элементы в диапазоне элементов списка List<T> с помощью указанной функции сравнения. |
ToArray() |
Копирует элементы списка List<T> в новый массив. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
TrimExcess() |
Задает емкость, равную фактическому числу элементов в списке List<T>, если это число меньше порогового значения. |
TrueForAll(Predicate<T>) |
Определяет, все ли элементы списка List<T> удовлетворяют условиям указанного предиката. |
Явные реализации интерфейса
ICollection.CopyTo(Array, Int32) |
Копирует элементы коллекции ICollection в массив Array, начиная с указанного индекса массива Array. |
ICollection.IsSynchronized |
Возвращает значение, показывающее, является ли доступ к коллекции ICollection синхронизированным (потокобезопасным). |
ICollection.SyncRoot |
Получает объект, с помощью которого можно синхронизировать доступ к коллекции ICollection. |
ICollection<T>.IsReadOnly |
Получает значение, указывающее, является ли объект ICollection<T> доступным только для чтения. |
IEnumerable.GetEnumerator() |
Возвращает перечислитель, который осуществляет итерацию по коллекции. |
IEnumerable<T>.GetEnumerator() |
Возвращает перечислитель, который осуществляет итерацию по коллекции. |
IList.Add(Object) |
Добавляет элемент в коллекцию IList. |
IList.Contains(Object) |
Определяет, содержит ли коллекция IList указанное значение. |
IList.IndexOf(Object) |
Определяет индекс заданного элемента коллекции IList. |
IList.Insert(Int32, Object) |
Вставляет элемент в список IList по указанному индексу. |
IList.IsFixedSize |
Получает значение, указывающее, имеет ли список IList фиксированный размер. |
IList.IsReadOnly |
Получает значение, указывающее, является ли объект IList доступным только для чтения. |
IList.Item[Int32] |
Возвращает или задает элемент по указанному индексу. |
IList.Remove(Object) |
Удаляет первое вхождение указанного объекта из коллекции IList. |
Методы расширения
AsReadOnly<T>(IList<T>) |
Возвращает оболочку только ReadOnlyCollection<T> для чтения для указанного списка. |
ToImmutableArray<TSource>(IEnumerable<TSource>) |
Создает неизменяемый массив на основе указанной коллекции. |
ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Создает неизменяемый словарь на основе существующей коллекции элементов, применяя функцию преобразования к исходным ключам. |
ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает неизменяемый словарь на основе последовательности, подвергнутой определенному преобразованию. |
ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>) |
Выполняет перечисление и преобразование последовательности и создает неизменяемый словарь на основе ее содержимого. |
ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>) |
Выполняет перечисление и преобразование последовательности и создает на основе ее содержимого неизменяемый словарь с использованием указанной функции сравнения ключей. |
ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>, IEqualityComparer<TValue>) |
Выполняет перечисление и преобразование последовательности и создает на основе ее содержимого неизменяемый словарь с использованием указанных функций сравнения ключей и значений. |
ToImmutableHashSet<TSource>(IEnumerable<TSource>) |
Выполняет перечисление последовательности и создает неизменяемый набор хэширования на основе ее содержимого. |
ToImmutableHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Выполняет перечисление последовательности, создает неизменяемый набор хэширования на основе ее содержимого и использует указанную функцию сравнения для типа набора. |
ToImmutableList<TSource>(IEnumerable<TSource>) |
Выполняет перечисление последовательности и создает неизменяемый список на основе ее содержимого. |
ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>) |
Выполняет перечисление и преобразование последовательности и создает неизменяемый отсортированный словарь на основе ее содержимого. |
ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>) |
Выполняет перечисление и преобразование последовательности и создает на основе ее содержимого неизменяемый отсортированный словарь с использованием указанной функции сравнения ключей. |
ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>, IEqualityComparer<TValue>) |
Выполняет перечисление и преобразование последовательности и создает на основе ее содержимого неизменяемый отсортированный словарь с использованием указанных функций сравнения ключей и значений. |
ToImmutableSortedSet<TSource>(IEnumerable<TSource>) |
Выполняет перечисление последовательности и создает неизменяемый отсортированный набор на основе ее содержимого. |
ToImmutableSortedSet<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Выполняет перечисление последовательности, создает неизменяемый отсортированный набор на основе ее содержимого и использует указанную функцию сравнения. |
CopyToDataTable<T>(IEnumerable<T>) |
Возвращает объект DataTable, содержащий копии объектов DataRow при заданном входном объекте IEnumerable<T> и универсальном параметре |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Копирует объекты DataRow в указанный объект DataTable с заданным входным объектом IEnumerable<T>, где универсальный параметр |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Копирует объекты DataRow в указанный объект DataTable с заданным входным объектом IEnumerable<T>, где универсальный параметр |
Aggregate<TSource>(IEnumerable<TSource>, Func<TSource,TSource,TSource>) |
Применяет к последовательности агрегатную функцию. |
Aggregate<TSource,TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>) |
Применяет к последовательности агрегатную функцию. Указанное начальное значение используется в качестве исходного значения агрегатной операции. |
Aggregate<TSource,TAccumulate,TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate,TResult>) |
Применяет к последовательности агрегатную функцию. Указанное начальное значение служит исходным значением для агрегатной операции, а указанная функция используется для выбора результирующего значения. |
All<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Проверяет, все ли элементы последовательности удовлетворяют условию. |
Any<TSource>(IEnumerable<TSource>) |
Проверяет, содержит ли последовательность какие-либо элементы. |
Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Проверяет, удовлетворяет ли какой-либо элемент последовательности заданному условию. |
Append<TSource>(IEnumerable<TSource>, TSource) |
Добавляет значение в конец последовательности. |
AsEnumerable<TSource>(IEnumerable<TSource>) |
Возвращает входное значение, типизированное как IEnumerable<T>. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) |
Вычисляет среднее для последовательности значений типа Decimal, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Double>) |
Вычисляет среднее для последовательности значений типа Double, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) |
Вычисляет среднее для последовательности значений типа Int32, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) |
Вычисляет среднее для последовательности значений типа Int64, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) |
Вычисляет среднее для последовательности значений Decimal обнуляемого типа, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Вычисляет среднее для последовательности значений Double обнуляемого типа, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Вычисляет среднее для последовательности значений Int32 обнуляемого типа, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Вычисляет среднее для последовательности значений Int64 обнуляемого типа, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Вычисляет среднее для последовательности значений Single обнуляемого типа, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Вычисляет среднее для последовательности значений типа Single, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Cast<TResult>(IEnumerable) |
Приводит элементы объекта IEnumerable к заданному типу. |
Chunk<TSource>(IEnumerable<TSource>, Int32) |
Разбивает элементы последовательности на фрагменты размера не более |
Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Объединяет две последовательности. |
Contains<TSource>(IEnumerable<TSource>, TSource) |
Определяет, содержится ли указанный элемент в последовательности, используя компаратор проверки на равенство по умолчанию. |
Contains<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>) |
Определяет, содержит ли последовательность заданный элемент, используя указанный компаратор IEqualityComparer<T>. |
Count<TSource>(IEnumerable<TSource>) |
Возвращает количество элементов в последовательности. |
Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает число, представляющее количество элементов последовательности, удовлетворяющих заданному условию. |
DefaultIfEmpty<TSource>(IEnumerable<TSource>) |
Возвращает элементы указанной последовательности или одноэлементную коллекцию, содержащую значение параметра типа по умолчанию, если последовательность пуста. |
DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) |
Возвращает элементы указанной последовательности или одноэлементную коллекцию, содержащую указанное значение, если последовательность пуста. |
Distinct<TSource>(IEnumerable<TSource>) |
Возвращает различающиеся элементы последовательности, используя для сравнения значений компаратор проверки на равенство по умолчанию. |
Distinct<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Возвращает различающиеся элементы последовательности, используя для сравнения значений указанный компаратор IEqualityComparer<T>. |
DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Возвращает отдельные элементы из последовательности в соответствии с указанной функцией селектора ключей. |
DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Возвращает отдельные элементы из последовательности в соответствии с указанной функцией селектора ключей и с помощью указанного средства сравнения ключей. |
ElementAt<TSource>(IEnumerable<TSource>, Index) |
Возвращает элемент по указанному индексу в последовательности. |
ElementAt<TSource>(IEnumerable<TSource>, Int32) |
Возвращает элемент по указанному индексу в последовательности. |
ElementAtOrDefault<TSource>(IEnumerable<TSource>, Index) |
Возвращает элемент последовательности по указанному индексу или значение по умолчанию, если индекс вне допустимого диапазона. |
ElementAtOrDefault<TSource>(IEnumerable<TSource>, Int32) |
Возвращает элемент последовательности по указанному индексу или значение по умолчанию, если индекс вне допустимого диапазона. |
Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Находит разность множеств, представленных двумя последовательностями, используя для сравнения значений компаратор проверки на равенство по умолчанию. |
Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Находит разность множеств, представленных двумя последовательностями, используя для сравнения значений указанный компаратор IEqualityComparer<T>. |
ExceptBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>) |
Создает разницу между наборами двух последовательностей в соответствии с указанной функцией селектора ключей. |
ExceptBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает разницу между наборами двух последовательностей в соответствии с указанной функцией селектора ключей. |
First<TSource>(IEnumerable<TSource>) |
Возвращает первый элемент последовательности. |
First<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает первый элемент последовательности, удовлетворяющий указанному условию. |
FirstOrDefault<TSource>(IEnumerable<TSource>) |
Возвращает первый элемент последовательности или значение по умолчанию, если последовательность не содержит элементов. |
FirstOrDefault<TSource>(IEnumerable<TSource>, TSource) |
Возвращает первый элемент последовательности или указанное значение по умолчанию, если последовательность не содержит элементов. |
FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает первый элемент последовательности, удовлетворяющий указанному условию, или значение по умолчанию, если ни одного такого элемента не найдено. |
FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource) |
Возвращает первый элемент последовательности, удовлетворяющий условию, или указанное значение по умолчанию, если такой элемент не найден. |
GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Группирует элементы последовательности в соответствии с заданной функцией селектора ключа. |
GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Группирует элементы последовательности в соответствии с заданной функцией селектора ключа и сравнивает ключи с помощью указанного компаратора. |
GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) |
Группирует элементы последовательности в соответствии с заданной функцией селектора ключа и проецирует элементы каждой группы с помощью указанной функции. |
GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
Группирует элементы последовательности в соответствии с функцией селектора ключа. Ключи сравниваются с помощью компаратора, элементы каждой группы проецируются с помощью указанной функции. |
GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>) |
Группирует элементы последовательности в соответствии с заданной функцией селектора ключа и создает результирующее значение для каждой группы и ее ключа. |
GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>, IEqualityComparer<TKey>) |
Группирует элементы последовательности в соответствии с заданной функцией селектора ключа и создает результирующее значение для каждой группы и ее ключа. Ключи сравниваются с использованием заданного компаратора. |
GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>,TResult>) |
Группирует элементы последовательности в соответствии с заданной функцией селектора ключа и создает результирующее значение для каждой группы и ее ключа. Элементы каждой группы проецируются с помощью указанной функции. |
GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>) |
Группирует элементы последовательности в соответствии с заданной функцией селектора ключа и создает результирующее значение для каждой группы и ее ключа. Значения ключей сравниваются с помощью указанного компаратора, элементы каждой группы проецируются с помощью указанной функции. |
GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>) |
Устанавливает корреляцию между элементами двух последовательностей на основе равенства ключей и группирует результаты. Для сравнения ключей используется компаратор проверки на равенство по умолчанию. |
GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>) |
Устанавливает корреляцию между элементами двух последовательностей на основе равенства ключей и группирует результаты. Для сравнения ключей используется указанный компаратор IEqualityComparer<T>. |
Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Находит пересечение множеств, представленных двумя последовательностями, используя для сравнения значений компаратор проверки на равенство по умолчанию. |
Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Находит пересечение множеств, представленных двумя последовательностями, используя для сравнения значений указанный компаратор IEqualityComparer<T>. |
IntersectBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>) |
Создает пересечение набора двух последовательностей в соответствии с указанной функцией селектора ключей. |
IntersectBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает пересечение набора двух последовательностей в соответствии с указанной функцией селектора ключей. |
Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>) |
Устанавливает корреляцию между элементами двух последовательностей на основе сопоставления ключей. Для сравнения ключей используется компаратор проверки на равенство по умолчанию. |
Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>) |
Устанавливает корреляцию между элементами двух последовательностей на основе сопоставления ключей. Для сравнения ключей используется указанный компаратор IEqualityComparer<T>. |
Last<TSource>(IEnumerable<TSource>) |
Возвращает последний элемент последовательности. |
Last<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает последний элемент последовательности, удовлетворяющий указанному условию. |
LastOrDefault<TSource>(IEnumerable<TSource>) |
Возвращает последний элемент последовательности или значение по умолчанию, если последовательность не содержит элементов. |
LastOrDefault<TSource>(IEnumerable<TSource>, TSource) |
Возвращает последний элемент последовательности или указанное значение по умолчанию, если последовательность не содержит элементов. |
LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает последний элемент последовательности, удовлетворяющий указанному условию, или значение по умолчанию, если ни одного такого элемента не найдено. |
LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource) |
Возвращает последний элемент последовательности, удовлетворяющей условию, или указанное значение по умолчанию, если такого элемента не найдено. |
LongCount<TSource>(IEnumerable<TSource>) |
Возвращает значение типа Int64, представляющее общее число элементов в последовательности. |
LongCount<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает значение типа Int64, представляющее число элементов последовательности, удовлетворяющих заданному условию. |
Max<TSource>(IEnumerable<TSource>) |
Возвращает максимальное значение, содержащееся в универсальной последовательности. |
Max<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Возвращает максимальное значение, содержащееся в универсальной последовательности. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Decimal. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Double. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Int32. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Int64. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Decimal обнуляемого типа. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Double обнуляемого типа. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Int32 обнуляемого типа. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Int64 обнуляемого типа. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Single обнуляемого типа. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Single. |
Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) |
Вызывает функцию преобразования для каждого элемента универсальной последовательности и возвращает максимальное результирующее значение. |
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Возвращает максимальное значение в универсальной последовательности в соответствии с указанной функцией селектора ключей. |
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Возвращает максимальное значение в универсальной последовательности в соответствии с указанной функцией выбора ключей и функцией сравнения ключей. |
Min<TSource>(IEnumerable<TSource>) |
Возвращает минимальное значение, содержащееся в универсальной последовательности. |
Min<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Возвращает минимальное значение, содержащееся в универсальной последовательности. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение типа Decimal. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Double>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение типа Double. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение типа Int32. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение типа Int64. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение Decimal обнуляемого типа. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение Double обнуляемого типа. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение Int32 обнуляемого типа. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение Int64 обнуляемого типа. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение Single обнуляемого типа. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение типа Single. |
Min<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) |
Вызывает функцию преобразования для каждого элемента универсальной последовательности и возвращает минимальное результирующее значение. |
MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Возвращает минимальное значение в универсальной последовательности в соответствии с указанной функцией селектора ключей. |
MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Возвращает минимальное значение в универсальной последовательности в соответствии с указанной функцией выбора ключей и функцией сравнения ключей. |
OfType<TResult>(IEnumerable) |
Выполняет фильтрацию элементов объекта IEnumerable по заданному типу. |
OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Сортирует элементы последовательности в порядке возрастания ключа. |
OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Сортирует элементы последовательности в порядке возрастания с использованием указанного компаратора. |
OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Сортирует элементы последовательности в порядке убывания ключа. |
OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Сортирует элементы последовательности в порядке убывания с использованием указанного компаратора. |
Prepend<TSource>(IEnumerable<TSource>, TSource) |
Добавляет значение в начало последовательности. |
Reverse<TSource>(IEnumerable<TSource>) |
Изменяет порядок элементов последовательности на противоположный. |
Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) |
Проецирует каждый элемент последовательности в новую форму. |
Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,TResult>) |
Проецирует каждый элемент последовательности в новую форму, добавляя индекс элемента. |
SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TResult>>) |
Проецирует каждый элемент последовательности в объект IEnumerable<T> и объединяет результирующие последовательности в одну последовательность. |
SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TResult>>) |
Проецирует каждый элемент последовательности в объект IEnumerable<T> и объединяет результирующие последовательности в одну последовательность. Индекс каждого элемента исходной последовательности используется в проецированной форме этого элемента. |
SelectMany<TSource,TCollection,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>) |
Проецирует каждый элемент последовательности в объект IEnumerable<T>, объединяет результирующие последовательности в одну и вызывает функцию селектора результата для каждого элемента этой последовательности. |
SelectMany<TSource,TCollection,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>) |
Проецирует каждый элемент последовательности в объект IEnumerable<T>, объединяет результирующие последовательности в одну и вызывает функцию селектора результата для каждого элемента этой последовательности. Индекс каждого элемента исходной последовательности используется в промежуточной проецированной форме этого элемента. |
SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Определяет, совпадают ли две последовательности, используя для сравнения элементов компаратор проверки на равенство по умолчанию, предназначенный для их типа. |
SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Определяет, совпадают ли две последовательности, используя для сравнения элементов указанный компаратор IEqualityComparer<T>. |
Single<TSource>(IEnumerable<TSource>) |
Возвращает единственный элемент последовательности и генерирует исключение, если число элементов последовательности отлично от 1. |
Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает единственный элемент последовательности, удовлетворяющий указанному условию, и вызывает исключение, если таких элементов больше одного. |
SingleOrDefault<TSource>(IEnumerable<TSource>) |
Возвращает единственный элемент последовательности или значение по умолчанию, если последовательность пуста; если в последовательности более одного элемента, генерируется исключение. |
SingleOrDefault<TSource>(IEnumerable<TSource>, TSource) |
Возвращает единственный элемент последовательности или указанное значение по умолчанию, если последовательность пуста; Этот метод создает исключение, если в последовательности имеется несколько элементов. |
SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает единственный элемент последовательности, удовлетворяющий указанному условию, или значение по умолчанию, если такого элемента не существует; если условию удовлетворяет более одного элемента, вызывается исключение. |
SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource) |
Возвращает единственный элемент последовательности, удовлетворяющий указанному условию, или указанное значение по умолчанию, если такой элемент не существует; Этот метод создает исключение, если несколько элементов удовлетворяют условию. |
Skip<TSource>(IEnumerable<TSource>, Int32) |
Пропускает заданное число элементов в последовательности и возвращает остальные элементы. |
SkipLast<TSource>(IEnumerable<TSource>, Int32) |
Возвращает новую перечислимую коллекцию, содержащую элементы из |
SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Пропускает элементы в последовательности, пока они удовлетворяют заданному условию, и затем возвращает оставшиеся элементы. |
SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) |
Пропускает элементы в последовательности, пока они удовлетворяют заданному условию, и затем возвращает оставшиеся элементы. Индекс элемента используется в логике функции предиката. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) |
Вычисляет сумму последовательности значений типа Decimal, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) |
Вычисляет сумму последовательности значений типа Double, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) |
Вычисляет сумму последовательности значений типа Int32, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) |
Вычисляет сумму последовательности значений типа Int64, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) |
Вычисляет сумму последовательности значений Decimal обнуляемого типа, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Вычисляет сумму последовательности значений Double обнуляемого типа, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Вычисляет сумму последовательности значений Int32 обнуляемого типа, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Вычисляет сумму последовательности значений Int64 обнуляемого типа, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Вычисляет сумму последовательности значений Single обнуляемого типа, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Вычисляет сумму последовательности значений типа Single, получаемой в результате применения функции преобразования к каждому элементу входной последовательности. |
Take<TSource>(IEnumerable<TSource>, Int32) |
Возвращает указанное число подряд идущих элементов с начала последовательности. |
Take<TSource>(IEnumerable<TSource>, Range) |
Возвращает указанный диапазон смежных элементов из последовательности. |
TakeLast<TSource>(IEnumerable<TSource>, Int32) |
Возвращает новую перечислимую коллекцию, содержащую последние |
TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает цепочку элементов последовательности, удовлетворяющих указанному условию. |
TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) |
Возвращает цепочку элементов последовательности, удовлетворяющих указанному условию. Индекс элемента используется в логике функции предиката. |
ToArray<TSource>(IEnumerable<TSource>) |
Создает массив из объекта IEnumerable<T>. |
ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Создает словарь Dictionary<TKey,TValue> из объекта IEnumerable<T> в соответствии с заданной функцией селектора ключа. |
ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает словарь Dictionary<TKey,TValue> из объекта IEnumerable<T> в соответствии с заданной функцией селектора ключа и компаратором ключей. |
ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) |
Создает словарь Dictionary<TKey,TValue> из объекта IEnumerable<T> в соответствии с заданными функциями селектора ключа и селектора элемента. |
ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
Создает словарь Dictionary<TKey,TValue> из объекта IEnumerable<T> в соответствии с заданным компаратором и функциями селектора ключа и селектора элемента. |
ToHashSet<TSource>(IEnumerable<TSource>) |
Создает HashSet<T> из IEnumerable<T>. |
ToHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Создает HashSet<T> из IEnumerable<T> с использованием |
ToList<TSource>(IEnumerable<TSource>) |
Создает List<T> из IEnumerable<T>. |
ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Создает словарь Lookup<TKey,TElement> из объекта IEnumerable<T> в соответствии с заданной функцией селектора ключа. |
ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает словарь Lookup<TKey,TElement> из объекта IEnumerable<T> в соответствии с заданной функцией селектора ключа и компаратором ключей. |
ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) |
Создает словарь Lookup<TKey,TElement> из объекта IEnumerable<T> в соответствии с заданными функциями селектора ключа и селектора элемента. |
ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
Создает объект Lookup<TKey,TElement> из объекта IEnumerable<T> в соответствии с заданным компаратором и функциями селектора ключа и селектора элемента. |
TryGetNonEnumeratedCount<TSource>(IEnumerable<TSource>, Int32) |
Пытается определить количество элементов в последовательности без принудительного перечисления. |
Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Находит объединение множеств, представленных двумя последовательностями, используя для сравнения значений компаратор проверки на равенство по умолчанию. |
Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Находит объединение множеств, представленных двумя последовательностями, используя указанный компаратор IEqualityComparer<T>. |
UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>) |
Создает объединение наборов двух последовательностей в соответствии с указанной функцией селектора ключей. |
UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает объединение наборов двух последовательностей в соответствии с указанной функцией селектора ключей. |
Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Выполняет фильтрацию последовательности значений на основе заданного предиката. |
Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) |
Выполняет фильтрацию последовательности значений на основе заданного предиката. Индекс каждого элемента используется в логике функции предиката. |
Zip<TFirst,TSecond>(IEnumerable<TFirst>, IEnumerable<TSecond>) |
Создает последовательность кортежей с элементами из двух указанных последовательностей. |
Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>) |
Создает последовательность кортежей с элементами из трех указанных последовательностей. |
Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>) |
Применяет указанную функцию к соответствующим элементам двух последовательностей, что дает последовательность результатов. |
AsParallel(IEnumerable) |
Позволяет осуществлять параллельный запрос. |
AsParallel<TSource>(IEnumerable<TSource>) |
Позволяет осуществлять параллельный запрос. |
AsQueryable(IEnumerable) |
Преобразовывает коллекцию IEnumerable в объект IQueryable. |
AsQueryable<TElement>(IEnumerable<TElement>) |
Преобразовывает универсальный объект IEnumerable<T> в универсальный объект IQueryable<T>. |
Ancestors<T>(IEnumerable<T>) |
Возвращает коллекцию элементов, содержащую предков каждого узла в исходной коллекции. |
Ancestors<T>(IEnumerable<T>, XName) |
Возвращает отфильтрованную коллекцию элементов, содержащую предков каждого узла в исходной коллекции. В коллекцию включаются только элементы, соответствующие XName. |
DescendantNodes<T>(IEnumerable<T>) |
Возвращает коллекцию подчиненных узлов каждого документа и элемента в исходной коллекции. |
Descendants<T>(IEnumerable<T>) |
Возвращает коллекцию элементов, содержащую подчиненные элементы каждого элемента и документа в исходной коллекции. |
Descendants<T>(IEnumerable<T>, XName) |
Возвращает отфильтрованную коллекцию элементов, содержащую подчиненные элементы каждого элемента и документа в исходной коллекции. В коллекцию включаются только элементы, соответствующие XName. |
Elements<T>(IEnumerable<T>) |
Возвращает коллекцию дочерних элементов каждого элемента и документа в исходной коллекции. |
Elements<T>(IEnumerable<T>, XName) |
Возвращает отфильтрованную коллекцию дочерних элементов каждого элемента и документа в исходной коллекции. В коллекцию включаются только элементы, соответствующие XName. |
InDocumentOrder<T>(IEnumerable<T>) |
Возвращает коллекцию узлов, содержащую все узлы в исходной коллекции, отсортированные в порядке следования документов. |
Nodes<T>(IEnumerable<T>) |
Возвращает коллекцию дочерних узлов каждого документа и элемента в исходной коллекции. |
Remove<T>(IEnumerable<T>) |
Удаление каждого узла в исходной коллекции из родительского узла. |
Применяется к
Потокобезопасность
Открытые статические (Shared
в Visual Basic) члены этого типа являются потокобезопасными. Потокобезопасная работа с членами экземпляров типа не гарантируется.
При изменении коллекции во время чтения можно выполнять несколько операций List<T>чтения, но могут возникнуть проблемы. Чтобы обеспечить безопасность потоков, заблокируйте коллекцию во время операции чтения или записи. Чтобы обеспечить доступ к коллекции несколькими потоками для чтения и записи, необходимо реализовать собственную синхронизацию. Сведения о коллекциях со встроенной синхронизацией см. в классах в System.Collections.Concurrent пространстве имен. Сведения о потокобезопасной альтернативе см. в описании ImmutableList<T> класса.