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
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
*/
}
}
' 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[Int32] по умолчанию (индексатор в C#) используется для извлечения элемента, метод Remove используется для удаления первого экземпляра добавленного ранее дубликата элемента, а содержимое отображается снова. Метод Remove всегда удаляет первый экземпляр, с которым он сталкивается.
Метод TrimExcess используется для уменьшения емкости до совпадения с заданным количеством, и отображаются свойства Capacity и Count. Если неиспользуемая емкость была меньше 10 процентов от общей емкости, список не будет изменен.
Наконец, метод Clear используется для удаления всех элементов из списка, а также отображаются Capacity и Count свойства.
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
*/
Public Class Example2
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, IndexOf, LastIndexOfи 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>.
К элементам этой коллекции можно получить доступ с помощью целочисленного индекса. Индексы в этой коллекции основаны на нулях.
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, а среда выполнения .NET может совместно использовать общий код промежуточного языка и метаданные, что ваша реализация не может делать.
Рекомендации по 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, IComparer<T>) |
Выполняет поиск всего отсортированного List<T> элемента с помощью указанного средства сравнения и возвращает отсчитываемый от нуля индекс элемента. |
| BinarySearch(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[], Int32) |
Копирует весь List<T> совместимый одномерный массив, начиная с указанного индекса целевого массива. |
| CopyTo(T[]) |
Копирует весь 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, Int32, Int32) |
Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов в List<T> указанном индексе и содержит указанное число элементов. |
| IndexOf(T, Int32) |
Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов, List<T> который расширяется от указанного индекса до последнего элемента. |
| IndexOf(T) |
Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в пределах всего List<T>. |
| Insert(Int32, T) |
Вставляет элемент в List<T> указанный индекс. |
| InsertRange(Int32, IEnumerable<T>) |
Вставляет элементы коллекции в List<T> указанный индекс. |
| LastIndexOf(T, Int32, Int32) |
Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс последнего вхождения в диапазоне элементов, List<T> содержащих указанное число элементов и заканчивается на указанном индексе. |
| LastIndexOf(T, Int32) |
Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс последнего вхождения в диапазоне элементов, List<T> которые расширяются от первого элемента до указанного индекса. |
| LastIndexOf(T) |
Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс последнего вхождения в течение всего 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) |
Изменяет порядок элементов в указанном диапазоне. |
| Slice(Int32, Int32) |
Создает неглубокую копию диапазона элементов в источнике List<T>. |
| 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) |
Копирует элементы объекта ICollectionArrayв определенный индекс, начиная с определенного 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. |
Методы расширения
| Имя | Описание |
|---|---|
| AddRange<T>(List<T>, ReadOnlySpan<T>) |
Добавляет элементы указанного диапазона в конец List<T>. |
| Aggregate<TSource,TAccumulate,TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate,TResult>) |
Применяет функцию аккумулятора по последовательности. Указанное начальное значение используется в качестве начального значения аккумулятора, а указанная функция используется для выбора значения результата. |
| Aggregate<TSource,TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>) |
Применяет функцию аккумулятора по последовательности. Указанное начальное значение используется в качестве начального значения аккумулятора. |
| Aggregate<TSource>(IEnumerable<TSource>, Func<TSource,TSource,TSource>) |
Применяет функцию аккумулятора по последовательности. |
| AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TKey,TAccumulate>, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>) |
Применяет функцию аккуматора по последовательности, группируя результаты по ключу. |
| AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>) |
Применяет функцию аккуматора по последовательности, группируя результаты по ключу. |
| All<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Определяет, соответствуют ли все элементы последовательности условию. |
| Ancestors<T>(IEnumerable<T>, XName) |
Возвращает отфильтрованную коллекцию элементов, содержащих предки каждого узла в исходной коллекции. В коллекцию включены только элементы с соответствующими XName. |
| Ancestors<T>(IEnumerable<T>) |
Возвращает коллекцию элементов, содержащих предки каждого узла в исходной коллекции. |
| Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Определяет, соответствует ли любой элемент последовательности условию. |
| Any<TSource>(IEnumerable<TSource>) |
Определяет, содержит ли последовательность любые элементы. |
| Append<TSource>(IEnumerable<TSource>, TSource) |
Добавляет значение в конец последовательности. |
| AsEnumerable<TSource>(IEnumerable<TSource>) |
Возвращает входное значение, типизированное как IEnumerable<T>. |
| AsParallel(IEnumerable) |
Включает параллелизацию запроса. |
| AsParallel<TSource>(IEnumerable<TSource>) |
Включает параллелизацию запроса. |
| AsQueryable(IEnumerable) |
Преобразует IEnumerable в IQueryable. |
| AsQueryable<TElement>(IEnumerable<TElement>) |
Преобразует универсальный IEnumerable<T> в универсальный IQueryable<T>. |
| AsReadOnly<T>(IList<T>) |
Возвращает оболочку только ReadOnlyCollection<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>>) |
Вычисляет среднее значение последовательности значений, допускающих значение NULL, Decimal, полученных путем вызова функции преобразования для каждого элемента входной последовательности. |
| Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Вычисляет среднее значение последовательности значений, допускающих значение NULL, Double, полученных путем вызова функции преобразования для каждого элемента входной последовательности. |
| Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Вычисляет среднее значение последовательности значений, допускающих значение NULL, Int32, полученных путем вызова функции преобразования для каждого элемента входной последовательности. |
| Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Вычисляет среднее значение последовательности значений, допускающих значение NULL, Int64, полученных путем вызова функции преобразования для каждого элемента входной последовательности. |
| Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Вычисляет среднее значение последовательности значений, допускающих значение NULL, 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, IEqualityComparer<TSource>) |
Определяет, содержит ли последовательность указанный элемент с помощью указанного IEqualityComparer<T>. |
| Contains<TSource>(IEnumerable<TSource>, TSource) |
Определяет, содержит ли последовательность указанный элемент с помощью средства сравнения равенства по умолчанию. |
| CopyTo<T>(List<T>, Span<T>) |
Копирует весь List<T> диапазон. |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Копирует объекты DataRow в указанный DataTable, учитывая входной IEnumerable<T> объект, в котором |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Копирует объекты DataRow в указанный DataTable, учитывая входной IEnumerable<T> объект, в котором |
| CopyToDataTable<T>(IEnumerable<T>) |
Возвращает DataTable, содержащий копии объектов DataRow, учитывая входной объект IEnumerable<T>, в котором |
| Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает число, представляющее, сколько элементов в указанной последовательности удовлетворяет условию. |
| Count<TSource>(IEnumerable<TSource>) |
Возвращает количество элементов в последовательности. |
| CountBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Возвращает количество элементов в исходной последовательности, сгруппированных по ключу. |
| DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) |
Возвращает элементы указанной последовательности или указанное значение в одной коллекции, если последовательность пуста. |
| DefaultIfEmpty<TSource>(IEnumerable<TSource>) |
Возвращает элементы указанной последовательности или значение параметра типа по умолчанию в одной коллекции, если последовательность пуста. |
| DescendantNodes<T>(IEnumerable<T>) |
Возвращает коллекцию потомков каждого документа и элемента в исходной коллекции. |
| Descendants<T>(IEnumerable<T>, XName) |
Возвращает отфильтрованную коллекцию элементов, содержащих потомки каждого элемента и документа в исходной коллекции. В коллекцию включены только элементы с соответствующими XName. |
| Descendants<T>(IEnumerable<T>) |
Возвращает коллекцию элементов, содержащих потомки каждого элемента и документа в исходной коллекции. |
| Distinct<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Возвращает отдельные элементы из последовательности с помощью указанного IEqualityComparer<T> для сравнения значений. |
| Distinct<TSource>(IEnumerable<TSource>) |
Возвращает отдельные элементы из последовательности с помощью сравнения значений по умолчанию. |
| DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Возвращает отдельные элементы из последовательности в соответствии с указанной функцией селектора ключей и с помощью указанного средства сравнения ключей. |
| DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Возвращает отдельные элементы из последовательности в соответствии с указанной функцией селектора ключей. |
| ElementAt<TSource>(IEnumerable<TSource>, Index) |
Возвращает элемент по указанному индексу в последовательности. |
| ElementAt<TSource>(IEnumerable<TSource>, Int32) |
Возвращает элемент по указанному индексу в последовательности. |
| ElementAtOrDefault<TSource>(IEnumerable<TSource>, Index) |
Возвращает элемент по указанному индексу в последовательности или значении по умолчанию, если индекс выходит из диапазона. |
| ElementAtOrDefault<TSource>(IEnumerable<TSource>, Int32) |
Возвращает элемент по указанному индексу в последовательности или значении по умолчанию, если индекс выходит из диапазона. |
| Elements<T>(IEnumerable<T>, XName) |
Возвращает отфильтрованную коллекцию дочерних элементов каждого элемента и документа в исходной коллекции. В коллекцию включены только элементы с соответствующими XName. |
| Elements<T>(IEnumerable<T>) |
Возвращает коллекцию дочерних элементов каждого элемента и документа в исходной коллекции. |
| Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Создает различие набора двух последовательностей с помощью указанного IEqualityComparer<T> для сравнения значений. |
| Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Создает различие набора двух последовательностей с помощью сравнения значений по умолчанию. |
| ExceptBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает разницу набора двух последовательностей в соответствии с указанной функцией селектора ключей. |
| ExceptBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>) |
Создает разницу набора двух последовательностей в соответствии с указанной функцией селектора ключей. |
| First<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает первый элемент в последовательности, удовлетворяющей указанному условию. |
| First<TSource>(IEnumerable<TSource>) |
Возвращает первый элемент последовательности. |
| FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource) |
Возвращает первый элемент последовательности, удовлетворяющий условию, или заданное значение по умолчанию, если такой элемент не найден. |
| FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает первый элемент последовательности, удовлетворяющий условию или значению по умолчанию, если такой элемент не найден. |
| FirstOrDefault<TSource>(IEnumerable<TSource>, TSource) |
Возвращает первый элемент последовательности или указанное значение по умолчанию, если последовательность не содержит элементов. |
| FirstOrDefault<TSource>(IEnumerable<TSource>) |
Возвращает первый элемент последовательности или значение по умолчанию, если последовательность не содержит элементов. |
| FullJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>) |
Представляет строго типизированный список объектов, к которым можно получить доступ по индексу. Предоставляет методы для поиска, сортировки и управления списками. |
| FullJoin<TOuter,TInner,TKey>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, IEqualityComparer<TKey>) |
Представляет строго типизированный список объектов, к которым можно получить доступ по индексу. Предоставляет методы для поиска, сортировки и управления списками. |
| GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>, 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>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
Группируйте элементы последовательности в соответствии с функцией селектора ключей. Ключи сравниваются с помощью средства сравнения, а элементы каждой группы проецируются с помощью указанной функции. |
| GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) |
Группируйте элементы последовательности в соответствии с указанной функцией селектора ключей и проектируйте элементы для каждой группы с помощью указанной функции. |
| GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>, IEqualityComparer<TKey>) |
Группирует элементы последовательности в соответствии с указанной функцией селектора ключей и создает значение результата из каждой группы и его ключа. Ключи сравниваются с помощью указанного средства сравнения. |
| GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>) |
Группирует элементы последовательности в соответствии с указанной функцией селектора ключей и создает значение результата из каждой группы и его ключа. |
| GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Группирует элементы последовательности в соответствии с указанной функцией селектора ключей и сравнивает ключи с помощью указанного средства сравнения. |
| GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Группируйте элементы последовательности в соответствии с указанной функцией селектора ключей. |
| GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>) |
Сопоставляет элементы двух последовательностей на основе равенства ключей и группирует результаты. Для сравнения ключей используется указанный IEqualityComparer<T>. |
| GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>) |
Сопоставляет элементы двух последовательностей на основе равенства ключей и группирует результаты. Средство сравнения равенства по умолчанию используется для сравнения ключей. |
| GroupJoin<TOuter,TInner,TKey>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, IEqualityComparer<TKey>) |
Представляет строго типизированный список объектов, к которым можно получить доступ по индексу. Предоставляет методы для поиска, сортировки и управления списками. |
| Index<TSource>(IEnumerable<TSource>) |
Возвращает перечисление, которое включает индекс элемента в кортеж. |
| InDocumentOrder<T>(IEnumerable<T>) |
Возвращает коллекцию узлов, содержащих все узлы в исходной коллекции, отсортированные в порядке документа. |
| InsertRange<T>(List<T>, Int32, ReadOnlySpan<T>) |
Вставляет элементы диапазона в List<T> указанный индекс. |
| Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Создает набор пересечения двух последовательностей с помощью указанного IEqualityComparer<T> для сравнения значений. |
| Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Создает набор пересечения двух последовательностей с помощью сравнения значений по умолчанию. |
| IntersectBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает пересечение набора двух последовательностей в соответствии с указанной функцией селектора ключей. |
| IntersectBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>) |
Создает пересечение набора двух последовательностей в соответствии с указанной функцией селектора ключей. |
| Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>) |
Сопоставляет элементы двух последовательностей на основе соответствующих ключей. Для сравнения ключей используется указанный IEqualityComparer<T>. |
| Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>) |
Сопоставляет элементы двух последовательностей на основе соответствующих ключей. Средство сравнения равенства по умолчанию используется для сравнения ключей. |
| Join<TOuter,TInner,TKey>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, IEqualityComparer<TKey>) |
Представляет строго типизированный список объектов, к которым можно получить доступ по индексу. Предоставляет методы для поиска, сортировки и управления списками. |
| Last<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает последний элемент последовательности, удовлетворяющей указанному условию. |
| Last<TSource>(IEnumerable<TSource>) |
Возвращает последний элемент последовательности. |
| LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource) |
Возвращает последний элемент последовательности, удовлетворяющей условию, или заданное значение по умолчанию, если такой элемент не найден. |
| LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает последний элемент последовательности, удовлетворяющей условию или значению по умолчанию, если такой элемент не найден. |
| LastOrDefault<TSource>(IEnumerable<TSource>, TSource) |
Возвращает последний элемент последовательности или указанное значение по умолчанию, если последовательность не содержит элементов. |
| LastOrDefault<TSource>(IEnumerable<TSource>) |
Возвращает последний элемент последовательности или значение по умолчанию, если последовательность не содержит элементов. |
| LeftJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>) |
Сопоставляет элементы двух последовательностей на основе соответствующих ключей. Для сравнения ключей используется указанный IEqualityComparer<T>. |
| LeftJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>) |
Сопоставляет элементы двух последовательностей на основе соответствующих ключей. Средство сравнения равенства по умолчанию используется для сравнения ключей. |
| LeftJoin<TOuter,TInner,TKey>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, IEqualityComparer<TKey>) |
Представляет строго типизированный список объектов, к которым можно получить доступ по индексу. Предоставляет методы для поиска, сортировки и управления списками. |
| LongCount<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает Int64, представляющий количество элементов в последовательности, удовлетворяющих условию. |
| LongCount<TSource>(IEnumerable<TSource>) |
Возвращает Int64, представляющую общее количество элементов в последовательности. |
| Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) |
Вызывает функцию преобразования для каждого элемента универсальной последовательности и возвращает максимальное результирующее значение. |
| 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>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимально допустимое значение null Decimal. |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимально допустимое значение null Double. |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимально допустимое значение null Int32. |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимально допустимое значение null Int64. |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимально допустимое значение null Single. |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Single. |
| Max<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Возвращает максимальное значение в универсальной последовательности. |
| Max<TSource>(IEnumerable<TSource>) |
Возвращает максимальное значение в универсальной последовательности. |
| MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Возвращает максимальное значение в универсальной последовательности в соответствии с указанной функцией селектора ключей и компратором ключей. |
| MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Возвращает максимальное значение в универсальной последовательности в соответствии с указанной функцией селектора ключей. |
| Min<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) |
Вызывает функцию преобразования для каждого элемента универсальной последовательности и возвращает минимальное результирующее значение. |
| 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>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение, допускающее значение null Decimal. |
| Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение, допускающее значение null Double. |
| Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение, допускающее значение null Int32. |
| Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение, допускающее значение null Int64. |
| Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение, допускающее значение null Single. |
| Min<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение Single. |
| Min<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Возвращает минимальное значение в универсальной последовательности. |
| Min<TSource>(IEnumerable<TSource>) |
Возвращает минимальное значение в универсальной последовательности. |
| MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Возвращает минимальное значение в универсальной последовательности в соответствии с указанной функцией селектора ключей и компратером ключей. |
| MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Возвращает минимальное значение в универсальной последовательности в соответствии с указанной функцией селектора ключей. |
| Nodes<T>(IEnumerable<T>) |
Возвращает коллекцию дочерних узлов каждого документа и элемента в исходной коллекции. |
| OfType<TResult>(IEnumerable) |
Фильтрует элементы IEnumerable на основе указанного типа. |
| Order<T>(IEnumerable<T>, IComparer<T>) |
Сортирует элементы последовательности в порядке возрастания. |
| Order<T>(IEnumerable<T>) |
Сортирует элементы последовательности в порядке возрастания. |
| OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Сортирует элементы последовательности в порядке возрастания с помощью указанного сравнения. |
| OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Сортирует элементы последовательности в порядке возрастания в соответствии с ключом. |
| OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Сортирует элементы последовательности в порядке убывания с помощью указанного сравнения. |
| OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Сортирует элементы последовательности в порядке убывания в соответствии с ключом. |
| OrderDescending<T>(IEnumerable<T>, IComparer<T>) |
Сортирует элементы последовательности в порядке убывания. |
| OrderDescending<T>(IEnumerable<T>) |
Сортирует элементы последовательности в порядке убывания. |
| Prepend<TSource>(IEnumerable<TSource>, TSource) |
Добавляет значение в начало последовательности. |
| Remove<T>(IEnumerable<T>) |
Удаляет каждый узел в исходной коллекции из родительского узла. |
| Reverse<TSource>(IEnumerable<TSource>) |
Инвертирует порядок элементов в последовательности. |
| RightJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>) |
Сопоставляет элементы двух последовательностей на основе соответствующих ключей. Для сравнения ключей используется указанный IEqualityComparer<T>. |
| RightJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>) |
Сопоставляет элементы двух последовательностей на основе соответствующих ключей. Средство сравнения равенства по умолчанию используется для сравнения ключей. |
| RightJoin<TOuter,TInner,TKey>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, IEqualityComparer<TKey>) |
Представляет строго типизированный список объектов, к которым можно получить доступ по индексу. Предоставляет методы для поиска, сортировки и управления списками. |
| Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,TResult>) |
Проектируйте каждый элемент последовательности в новую форму, включив индекс элемента. |
| Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) |
Проектируйте каждый элемент последовательности в новую форму. |
| 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>, сглаживает полученные последовательности в одну последовательность и вызывает функцию селектора результатов для каждого элемента. Индекс каждого исходного элемента используется в промежуточной проецированной форме этого элемента. |
| SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TResult>>) |
Проектирует каждый элемент последовательности в IEnumerable<T> и преобразует полученные последовательности в одну последовательность. |
| SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TResult>>) |
Проектирует каждый элемент последовательности в IEnumerable<T>, а результирующий последовательности — в одну последовательность. Индекс каждого исходного элемента используется в проецируемых формах этого элемента. |
| SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Определяет, равны ли две последовательности, сравнивая их элементы с помощью указанной IEqualityComparer<T>. |
| SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Определяет, равны ли две последовательности путем сравнения элементов с помощью средства сравнения равенства по умолчанию для их типа. |
| Shuffle<TSource>(IEnumerable<TSource>) |
Перемешивание порядка элементов последовательности. |
| Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает единственный элемент последовательности, удовлетворяющей указанному условию, и создает исключение, если существует несколько таких элементов. |
| Single<TSource>(IEnumerable<TSource>) |
Возвращает единственный элемент последовательности и создает исключение, если в последовательности нет ни одного элемента. |
| SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource) |
Возвращает единственный элемент последовательности, удовлетворяющей указанному условию, или заданное значение по умолчанию, если такой элемент отсутствует; Этот метод создает исключение, если несколько элементов удовлетворяют условию. |
| SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Возвращает единственный элемент последовательности, удовлетворяющий указанному условию или значению по умолчанию, если такой элемент не существует; Этот метод создает исключение, если несколько элементов удовлетворяют условию. |
| SingleOrDefault<TSource>(IEnumerable<TSource>, TSource) |
Возвращает единственный элемент последовательности или указанное значение по умолчанию, если последовательность пуста; этот метод создает исключение, если в последовательности существует несколько элементов. |
| SingleOrDefault<TSource>(IEnumerable<TSource>) |
Возвращает единственный элемент последовательности или значение по умолчанию, если последовательность пуста; этот метод создает исключение, если в последовательности существует несколько элементов. |
| Skip<TSource>(IEnumerable<TSource>, Int32) |
Проходит указанное число элементов в последовательности, а затем возвращает оставшиеся элементы. |
| SkipLast<TSource>(IEnumerable<TSource>, Int32) |
Возвращает новую перечисленную коллекцию, содержащую элементы из |
| SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Обход элементов последовательности до тех пор, пока указанное условие имеет значение true, а затем возвращает оставшиеся элементы. |
| SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) |
Обход элементов последовательности до тех пор, пока указанное условие имеет значение true, а затем возвращает оставшиеся элементы. Индекс элемента используется в логике функции предиката. |
| 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>>) |
Вычисляет сумму последовательности значений, допускающих значение NULL, Decimal, полученных путем вызова функции преобразования для каждого элемента входной последовательности. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Вычисляет сумму последовательности значений, допускающих значение NULL, Double, полученных путем вызова функции преобразования для каждого элемента входной последовательности. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Вычисляет сумму последовательности значений, допускающих значение NULL, Int32, полученных путем вызова функции преобразования для каждого элемента входной последовательности. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Вычисляет сумму последовательности значений, допускающих значение NULL, Int64, полученных путем вызова функции преобразования для каждого элемента входной последовательности. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Вычисляет сумму последовательности значений, допускающих значение NULL, 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>) |
Возвращает элементы из последовательности до тех пор, пока указанное условие имеет значение true. |
| TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) |
Возвращает элементы из последовательности до тех пор, пока указанное условие имеет значение true. Индекс элемента используется в логике функции предиката. |
| ToArray<TSource>(IEnumerable<TSource>) |
Создает массив из IEnumerable<T>. |
| ToAsyncEnumerable<TSource>(IEnumerable<TSource>) |
Преобразует IEnumerable<T> в IAsyncEnumerable<T>. |
| ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, 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>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает Dictionary<TKey,TValue> из IEnumerable<T> в соответствии с указанной функцией селектора ключей и компратором ключей. |
| ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Создает Dictionary<TKey,TValue> из IEnumerable<T> в соответствии с указанной функцией селектора ключей. |
| ToFrozenDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
Создает FrozenDictionary<TKey,TValue> из IEnumerable<T> в соответствии с указанными функциями селектора ключей и селектора элементов. |
| ToFrozenDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает из FrozenDictionary<TKey,TValue> указанной функции селектора ключей IEnumerable<T> . |
| ToFrozenSet<T>(IEnumerable<T>, IEqualityComparer<T>) |
Создает объект FrozenSet<T> с указанными значениями. |
| ToHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Создает HashSet<T> из IEnumerable<T> с помощью |
| ToHashSet<TSource>(IEnumerable<TSource>) |
Создает HashSet<T> из IEnumerable<T>. |
| ToImmutableArray<TSource>(IEnumerable<TSource>) |
Создает неизменяемый массив из указанной коллекции. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>, IEqualityComparer<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>) |
Перечисляет и преобразует последовательность и создает неизменяемый словарь его содержимого. |
| ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает неизменяемый словарь на основе некоторого преобразования последовательности. |
| ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Создает неизменяемый словарь из существующей коллекции элементов, применяя функцию преобразования к исходным ключам. |
| ToImmutableHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Перечисляет последовательность, создает неизменяемый хэш-набор его содержимого и использует указанный средство сравнения равенства для типа набора. |
| ToImmutableHashSet<TSource>(IEnumerable<TSource>) |
Перечисляет последовательность и создает неизменяемый хэш-набор его содержимого. |
| ToImmutableList<TSource>(IEnumerable<TSource>) |
Перечисляет последовательность и создает неизменяемый список его содержимого. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>, IEqualityComparer<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>) |
Перечисляет и преобразует последовательность и создает неизменяемый отсортированный словарь его содержимого. |
| ToImmutableSortedSet<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Перечисляет последовательность, создает неизменяемый отсортированный набор его содержимого и использует указанный сопоставитель. |
| ToImmutableSortedSet<TSource>(IEnumerable<TSource>) |
Перечисляет последовательность и создает неизменяемый отсортированный набор его содержимого. |
| ToList<TSource>(IEnumerable<TSource>) |
Создает List<T> из IEnumerable<T>. |
| ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, 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>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает Lookup<TKey,TElement> из IEnumerable<T> в соответствии с указанной функцией селектора ключей и компратором ключей. |
| ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Создает Lookup<TKey,TElement> из IEnumerable<T> в соответствии с указанной функцией селектора ключей. |
| TryGetNonEnumeratedCount<TSource>(IEnumerable<TSource>, Int32) |
Пытается определить количество элементов в последовательности без принудительного перечисления. |
| Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Создает объединение наборов двух последовательностей с помощью указанного IEqualityComparer<T>. |
| Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Создает объединение наборов двух последовательностей с помощью средства сравнения равенства по умолчанию. |
| UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Создает объединение наборов двух последовательностей в соответствии с указанной функцией селектора ключей. |
| UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>) |
Создает объединение наборов двух последовательностей в соответствии с указанной функцией селектора ключей. |
| Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Фильтрует последовательность значений на основе предиката. |
| Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) |
Фильтрует последовательность значений на основе предиката. Индекс каждого элемента используется в логике функции предиката. |
| Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>) |
Применяет указанную функцию к соответствующим элементам двух последовательностей, создавая последовательность результатов. |
| Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>) |
Создает последовательность кортежей с элементами из трех указанных последовательностей. |
| Zip<TFirst,TSecond>(IEnumerable<TFirst>, IEnumerable<TSecond>) |
Создает последовательность кортежей с элементами из двух указанных последовательностей. |
Применяется к
Потокобезопасность
Общедоступные статические (Shared в Visual Basic) элементы этого типа являются потокобезопасны. Никакие члены экземпляра не гарантированы как потокобезопасные.
Это безопасно для выполнения нескольких операций чтения в a List<T>, но могут возникнуть проблемы, если коллекция изменяется во время чтения. Чтобы обеспечить безопасность потоков, заблокируйте коллекцию во время операции чтения или записи. Чтобы обеспечить доступ к коллекции несколькими потоками для чтения и записи, необходимо реализовать собственную синхронизацию. Для коллекций со встроенной синхронизацией см. классы в System.Collections.Concurrent пространстве имен. Сведения о безопасной потокобезопасной альтернативе см. в ImmutableList<T> классе.