ImmutableArray<T> 结构

定义

表示不可变的数组;这意味着,该数组在创建后不可更改。Represents an array that is immutable; meaning it cannot be changed once it is created.

NuGet 包System.Collections.Immutable关于不可变集合和安装方法NuGet package: System.Collections.Immutable (about immutable collections and how to install)

generic <typename T>
public value class ImmutableArray : IEquatable<System::Collections::Immutable::ImmutableArray<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::Collections::Immutable::IImmutableList<T>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
public struct ImmutableArray<T> : IEquatable<System.Collections.Immutable.ImmutableArray<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.Collections.Immutable.IImmutableList<T>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type ImmutableArray<'T> = struct
    interface ICollection<'T>
    interface seq<'T>
    interface IEnumerable
    interface IList<'T>
    interface IReadOnlyCollection<'T>
    interface IReadOnlyList<'T>
    interface ICollection
    interface IList
    interface IImmutableList<'T>
Public Structure ImmutableArray(Of T)
Implements ICollection(Of T), IEnumerable(Of T), IEquatable(Of ImmutableArray(Of T)), IImmutableList(Of T), IList, IList(Of T), IReadOnlyCollection(Of T), IReadOnlyList(Of T), IStructuralComparable, IStructuralEquatable

类型参数

T

数组存储的元素的类型。The type of element stored by the array.

继承
ImmutableArray<T>
实现

注解

最适合 ImmutableArray<T> 的方案和 @no__t 的其他方案。There are different scenarios best for ImmutableArray<T> and others best for ImmutableList<T>.

使用不可变数组的原因:Reasons to use immutable array:

  • 很少更新数据或元素数非常小(少于16项)Updating the data is rare or the number of elements is quite small (less than 16 items)

  • 你需要能够循环访问性能关键部分中的数据You need to be able to iterate over the data in performance critical sections

  • 具有多个不可变集合的实例,并且不能承受将数据保留在树中You have many instances of immutable collections and you can't afford keeping the data in trees

使用不可变列表的原因:Reasons to use immutable list:

  • 更新数据很常见,或者元素数不应太小Updating the data is common or the number of elements isn't expected to be small

  • 与循环访问内容相比,更新集合比循环访问内容更重要Updating the collection is more performance critical than iterating the contents

下表总结了 @no__t 的性能特征-0The following table summarizes the performance characteristics of ImmutableArray<T>

运作Operation ImmutableArray<T> 复杂性ImmutableArray<T> Complexity ImmutableList<T> 复杂性ImmutableList<T> Complexity 注释Comments
ItemItem O(1)O(1) O (log n)O(log n) 直接为基础数组建立索引Directly index into the underlying array
Add()Add() O(n)O(n) O (log n)O(log n) 需要创建新数组Requires creating a new array

字段

Empty

获取空的不可变数组。Gets an empty immutable array.

属性

IsDefault

获取一个值,该值指示此数组是否已声明但未初始化。Gets a value indicating whether this array was declared but not initialized.

IsDefaultOrEmpty

获取一个值,该值指示此 ImmutableArray<T> 是否为空或未初始化。Gets a value indicating whether this ImmutableArray<T> is empty or is not initialized.

IsEmpty

获取一个值,该值指示此 ImmutableArray<T> 是否为空。Gets a value indicating whether this ImmutableArray<T> is empty.

Item[Int32]

获取位于不可变数组中指定索引处的元素。Gets the element at the specified index in the immutable array.

Length

获取数组中的元素数。Gets the number of elements in the array.

方法

Add(T)

返回末尾添加了指定项的原始数组的副本。Returns a copy of the original array with the specified item added to the end.

AddRange(IEnumerable<T>)

返回原始数组的副本,该数组的末尾添加了指定项。Returns a copy of the original array with the specified elements added to the end of the array.

AddRange(ImmutableArray<T>)

返回原始数组的副本,该数组的末尾添加了指定项。Returns a copy of the original array with the specified elements added to the end of the array.

As<TOther>()

返回一个新的不可变数组,其中包含此数组的已转换成不同类型的元素。Returns a new immutable array that contains the elements of this array cast to a different type.

AsMemory()

通过此不可变数组创建新的只读内存区域。Creates a new read-only memory region over this immutable array.

AsSpan()

通过此不可变数组创建新的只读范围。Creates a new read-only span over this immutable array.

CastArray<TOther>()

通过将基础数组转换为 TOther 类型的数组,初始化 ImmutableArray<T> 结构的新实例。Initializes a new instance of the ImmutableArray<T> struct by casting the underlying array to an array of type TOther.

CastUp<TDerived>(ImmutableArray<TDerived>)

基于现有实例的内容,初始化 ImmutableArray<T> 结构的新实例,允许协变静态转换,以便高效重用现有数组。Initializes a new instance of the ImmutableArray<T> struct based on the contents of an existing instance, allowing a covariant static cast to efficiently reuse the existing array.

Clear()

返回已移除所有元素的数组。Returns an array with all the elements removed.

Contains(T)

确定指定的项是否存在于数组中。Determines whether the specified item exists in the array.

CopyTo(Int32, T[], Int32, Int32)

将此数组中的指定项复制到指定数组中的指定起始索引处。Copies the specified items in this array to the specified array at the specified starting index.

CopyTo(T[])

将此数组的内容复制到指定的数组。Copies the contents of this array to the specified array.

CopyTo(T[], Int32)

从指定目标索引处开始,将此数组的内容复制到指定的数组。Copies the contents of this array to the specified array starting at the specified destination index.

Equals(ImmutableArray<T>)

指示指定的数组是否等于此数组。Indicates whether specified array is equal to this array.

Equals(Object)

确定此数组是否等于指定的对象。Determines if this array is equal to the specified object.

GetEnumerator()

返回循环访问数组内容的枚举器。Returns an enumerator that iterates through the contents of the array.

GetHashCode()

返回此实例的哈希代码。Returns a hash code for this instance.

IndexOf(T)

搜索指定项的数组。Searches the array for the specified item.

IndexOf(T, Int32)

搜索指定项的数组。Searches the array for the specified item.

IndexOf(T, Int32, IEqualityComparer<T>)

搜索指定项的数组。Searches the array for the specified item.

IndexOf(T, Int32, Int32)

搜索指定项的数组。Searches the array for the specified item.

IndexOf(T, Int32, Int32, IEqualityComparer<T>)

搜索指定项的数组。Searches the array for the specified item.

Insert(Int32, T)

返回一个新数组,指定的值已插入到该数组的指定位置。Returns a new array with the specified value inserted at the specified position.

InsertRange(Int32, IEnumerable<T>)

在指定索引处插入指定的值。Inserts the specified values at the specified index.

InsertRange(Int32, ImmutableArray<T>)

在指定索引处插入指定的值。Inserts the specified values at the specified index.

ItemRef(Int32)

获取对位于只读列表中指定 index 处的元素的只读索引。Gets a read-only reference to the element at the specified index in the read-only list.

LastIndexOf(T)

搜索指定项的数组;从该数组的末尾处开始。Searches the array for the specified item; starting at the end of the array.

LastIndexOf(T, Int32)

搜索指定项的数组;从该数组的末尾处开始。Searches the array for the specified item; starting at the end of the array.

LastIndexOf(T, Int32, Int32)

搜索指定项的数组;从该数组的末尾处开始。Searches the array for the specified item; starting at the end of the array.

LastIndexOf(T, Int32, Int32, IEqualityComparer<T>)

搜索指定项的数组;从该数组的末尾处开始。Searches the array for the specified item; starting at the end of the array.

OfType<TResult>()

筛选此数组的元素,以仅显示可分配给指定类型的元素。Filters the elements of this array to those assignable to the specified type.

Remove(T)

返回一个数组,其中包含已从数组中移除的指定元素的第一个匹配项。Returns an array with the first occurrence of the specified element removed from the array. 如果未找到匹配项,则返回当前的数组。If no match is found, the current array is returned.

Remove(T, IEqualityComparer<T>)

返回一个数组,其中包含已从数组中移除的指定元素的第一个匹配项。Returns an array with the first occurrence of the specified element removed from the array.

如果未找到匹配项,则返回当前的数组。If no match is found, the current array is returned.

RemoveAll(Predicate<T>)

从数组中移除满足指定条件的所有项。Removes all the items from the array that meet the specified condition.

RemoveAt(Int32)

返回一个数组,其中位于指定位置的元素已被移除。Returns an array with the element at the specified position removed.

RemoveRange(IEnumerable<T>)

从此数组中移除指定的项。Removes the specified items from this array.

RemoveRange(IEnumerable<T>, IEqualityComparer<T>)

从此数组中移除指定的项。Removes the specified items from this array.

RemoveRange(ImmutableArray<T>)

从此列表中移除指定的值。Removes the specified values from this list.

RemoveRange(ImmutableArray<T>, IEqualityComparer<T>)

从此列表中移除指定的项。Removes the specified items from this list.

RemoveRange(Int32, Int32)

返回一个数组,其中位于指定位置的元素已被移除。Returns an array with the elements at the specified position removed.

Replace(T, T)

查找数组中与指定值相等的第一个元素,并将该值替换为指定的新值。Finds the first element in the array equal to the specified value and replaces the value with the specified new value.

Replace(T, T, IEqualityComparer<T>)

查找数组中与指定值相等的第一个元素,并将该值替换为指定的新值。Finds the first element in the array equal to the specified value and replaces the value with the specified new value.

SetItem(Int32, T)

使用指定项替换指定索引处的项。Replaces the item at the specified index with the specified item.

Sort()

使用默认比较器对不可变数组中的元素进行排序。Sorts the elements in the immutable array using the default comparer.

Sort(Comparison<T>)

使用指定的 Comparison<T>,对整个 ImmutableArray<T> 中的元素进行排序。Sorts the elements in the entire ImmutableArray<T> using the specified Comparison<T>.

Sort(IComparer<T>)

使用指定的比较器对不可变数组中的元素进行排序。Sorts the elements in the immutable array using the specified comparer.

Sort(Int32, Int32, IComparer<T>)

使用指定的比较器对不可变数组中的指定元素进行排序。Sorts the specified elements in the immutable array using the specified comparer.

ToBuilder()

创建一个其内容与此数组相同,并且可使用标准可变接口在多个操作之间有效转变的不可变数组。Creates a mutable array that has the same contents as this array and can be efficiently mutated across multiple operations using standard mutable interfaces.

操作员

Equality(ImmutableArray<T>, ImmutableArray<T>)

返回一个值,该值指示两个数组是否相等。Returns a value that indicates if two arrays are equal.

Equality(Nullable<ImmutableArray<T>>, Nullable<ImmutableArray<T>>)

返回一个值,该值指示两个数组是否相等。Returns a value that indicates if two arrays are equal.

Inequality(ImmutableArray<T>, ImmutableArray<T>)

返回一个值,该值指示两个数组是否不相等。Returns a value that indicates whether two arrays are not equal.

Inequality(Nullable<ImmutableArray<T>>, Nullable<ImmutableArray<T>>)

检查两个数组是否不相等。Checks for inequality between two array.

显式界面实现

ICollection.CopyTo(Array, Int32)

从指定的索引开始,将此数组复制到另一个数组。Copies this array to another array starting at the specified index.

ICollection.Count

获取数组的大小。Gets the size of the array.

ICollection.IsSynchronized

请参阅 ICollection 接口。See the ICollection interface.

ICollection.SyncRoot

获取同步根目录。Gets the sync root.

ICollection<T>.Add(T)

在所有情况下均引发 NotSupportedExceptionThrows NotSupportedException in all cases.

ICollection<T>.Clear()

在所有情况下均引发 NotSupportedExceptionThrows NotSupportedException in all cases.

ICollection<T>.Count

获取集合中的数组数。Gets the number of array in the collection.

ICollection<T>.IsReadOnly

获取一个值,该值指示此实例是否为只读。Gets a value indicating whether this instance is read only.

ICollection<T>.Remove(T)

在所有情况下均引发 NotSupportedExceptionThrows NotSupportedException in all cases.

IEnumerable.GetEnumerator()

返回一个循环访问不可变数组的枚举器。Returns an enumerator that iterates through the immutable array.

IEnumerable<T>.GetEnumerator()

返回循环访问数组的枚举器。Returns an enumerator that iterates through the array.

IImmutableList<T>.Add(T)

返回末尾添加了指定项的原始数组的副本。Returns a copy of the original array with the specified item added to the end.

IImmutableList<T>.AddRange(IEnumerable<T>)

返回原始数组的副本,该数组的末尾添加了指定项。Returns a copy of the original array with the specified elements added to the end of the array.

IImmutableList<T>.Clear()

返回已移除所有元素的数组。Returns an array with all the elements removed.

IImmutableList<T>.Insert(Int32, T)

返回一个新数组,指定的值已插入到该数组的指定位置。Returns a new array with the specified value inserted at the specified position.

IImmutableList<T>.InsertRange(Int32, IEnumerable<T>)

在指定索引处插入指定的值。Inserts the specified values at the specified index.

IImmutableList<T>.Remove(T, IEqualityComparer<T>)

返回一个数组,其中包含已从数组中移除的指定元素的第一个匹配项;如果未找到匹配项,则返回当前数组。Returns an array with the first occurrence of the specified element removed from the array; if no match is found, the current array is returned.

IImmutableList<T>.RemoveAll(Predicate<T>)

从数组中移除满足指定条件的所有项。Removes all the items from the array that meet the specified condition.

IImmutableList<T>.RemoveAt(Int32)

返回一个数组,其中位于指定位置的元素已被移除。Returns an array with the element at the specified position removed.

IImmutableList<T>.RemoveRange(IEnumerable<T>, IEqualityComparer<T>)

从此数组中移除指定的项。Removes the specified items from this array.

IImmutableList<T>.RemoveRange(Int32, Int32)

返回一个数组,其中位于指定位置的元素已被移除。Returns an array with the elements at the specified position removed.

IImmutableList<T>.Replace(T, T, IEqualityComparer<T>)

查找数组中与指定值相等的第一个元素,并将该值替换为指定的新值。Finds the first element in the array equal to the specified value and replaces the value with the specified new value.

IImmutableList<T>.SetItem(Int32, T)

使用指定项替换指定索引处的项。Replaces the item at the specified index with the specified item.

IList.Add(Object)

在所有情况下均引发 NotSupportedExceptionThrows NotSupportedException in all cases.

IList.Clear()

在所有情况下均引发 NotSupportedExceptionThrows NotSupportedException in all cases.

IList.Contains(Object)

在所有情况下均引发 NotSupportedExceptionThrows NotSupportedException in all cases.

IList.IndexOf(Object)

获取位于指定索引处的值。Gets the value at the specified index.

IList.Insert(Int32, Object)

在所有情况下均引发 NotSupportedExceptionThrows NotSupportedException in all cases.

IList.IsFixedSize

获取一个值,该值指示此实例是否为固定大小。Gets a value indicating whether this instance is fixed size.

IList.IsReadOnly

获取一个值,该值指示此实例是否为只读。Gets a value indicating whether this instance is read only.

IList.Item[Int32]

获取或设置指定索引处的 ObjectGets or sets the Object at the specified index.

IList.Remove(Object)

在所有情况下均引发 NotSupportedExceptionThrows NotSupportedException in all cases.

IList.RemoveAt(Int32)

在所有情况下均引发 NotSupportedExceptionThrows NotSupportedException in all cases.

IList<T>.Insert(Int32, T)

在所有情况下均引发 NotSupportedExceptionThrows NotSupportedException in all cases.

IList<T>.Item[Int32]

获取或设置位于只读列表中指定索引处的元素。Gets or sets the element at the specified index in the read-only list.

IList<T>.RemoveAt(Int32)

在所有情况下均引发 NotSupportedExceptionThrows NotSupportedException in all cases.

IReadOnlyCollection<T>.Count

获取集合中的数组数。Gets the number of array in the collection.

IReadOnlyList<T>.Item[Int32]

获取指定索引处的元素。Gets the element at the specified index.

IStructuralComparable.CompareTo(Object, IComparer)

确定当前集合元素在排序顺序中的位置是位于另一个元素之前、之后还是与其位置相同。Determines whether the current collection element precedes, occurs in the same position as, or follows another element in the sort order.

IStructuralEquatable.Equals(Object, IEqualityComparer)

确定此数组在结构上是否等于指定的数组。Determines whether this array is structurally equal to the specified array.

IStructuralEquatable.GetHashCode(IEqualityComparer)

返回当前实例的哈希代码。Returns a hash code for the current instance.

扩展方法

BinarySearch<T>(ImmutableArray<T>, T)

使用默认比较器在已排序的数组中搜索指定的元素,如果已找到,则返回该元素的从零开始的索引。Searches the sorted immutable array for a specified element using the default comparer and returns the zero-based index of the element, if it's found.

BinarySearch<T>(ImmutableArray<T>, T, IComparer<T>)

在已排序的不可变数组中搜索指定的元素,如果已找到,则返回该元素的从零开始的索引。Searches a sorted immutable array for a specified element and returns the zero-based index of the element, if it's found.

BinarySearch<T>(ImmutableArray<T>, Int32, Int32, T)

在已排序的不可变数组中搜索指定的元素,如果已找到,则返回该元素的从零开始的索引。Searches a sorted immutable array for a specified element and returns the zero-based index of the element, if it's found.

BinarySearch<T>(ImmutableArray<T>, Int32, Int32, T, IComparer<T>)

在已排序的不可变数组中搜索指定的元素,并返回该元素的从零开始的索引。Searches a sorted immutable array for a specified element and returns the zero-based index of the element.

IndexOf<T>(IImmutableList<T>, T)

搜索指定的对象,并返回列表中第一个匹配项的从零开始的索引。Searches for the specified object and returns the zero-based index of the first occurrence within the list.

IndexOf<T>(IImmutableList<T>, T, IEqualityComparer<T>)

搜索指定的对象,并返回列表中第一个匹配项的从零开始的索引。Searches for the specified object and returns the zero-based index of the first occurrence within the list.

IndexOf<T>(IImmutableList<T>, T, Int32)

搜索指定对象并返回不可变列表中从指定索引到最后一个元素这部分元素中第一个匹配项的从零开始索引。Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element.

IndexOf<T>(IImmutableList<T>, T, Int32, Int32)

搜索指定对象并返回不可变列表中从指定索引到最后一个元素这部分元素中第一个匹配项的从零开始索引。Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element.

LastIndexOf<T>(IImmutableList<T>, T)

搜索指定的对象,并返回整个不可变列表中最后一个匹配项的从零开始的索引。Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list.

LastIndexOf<T>(IImmutableList<T>, T, IEqualityComparer<T>)

搜索指定的对象,并返回整个不可变列表中最后一个匹配项的从零开始的索引。Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list.

LastIndexOf<T>(IImmutableList<T>, T, Int32)

搜索指定对象并返回不可变列表中从第一个元素到指定索引这部分元素中最后一个匹配项的从零开始的索引。Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index.

LastIndexOf<T>(IImmutableList<T>, T, Int32, Int32)

搜索指定对象并返回不可变列表中从第一个元素到指定索引这部分元素中最后一个匹配项的从零开始的索引。Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index.

Remove<T>(IImmutableList<T>, T)

从此列表中移除指定的值。Removes the specified value from this list.

RemoveRange<T>(IImmutableList<T>, IEnumerable<T>)

从此列表中移除指定的值。Removes the specified values from this list.

Replace<T>(IImmutableList<T>, T, T)

将列表中第一个相等的元素替换为指定的元素。Replaces the first equal element in the list with the specified element.

CopyToDataTable<T>(IEnumerable<T>)

在给定其泛型参数 TDataTable 的输入 DataRow 对象的情况下,返回包含 IEnumerable<T> 对象副本的 DataRowReturns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

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

在给定其泛型参数 TDataRow 的输入 DataTable 对象的情况下,将 IEnumerable<T> 对象复制到指定的 DataRowCopies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

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

在给定其泛型参数 TDataRow 的输入 DataTable 对象的情况下,将 IEnumerable<T> 对象复制到指定的 DataRowCopies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable)

IEnumerable 的元素强制转换为指定的类型。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

根据指定类型筛选 IEnumerable 的元素。Filters the elements of an IEnumerable based on a specified type.

Aggregate<T>(ImmutableArray<T>, Func<T,T,T>)

以累加方式向元素序列应用函数。Applies a function to a sequence of elements in a cumulative way.

Aggregate<TAccumulate,T>(ImmutableArray<T>, TAccumulate, Func<TAccumulate,T,TAccumulate>)

以累加方式向元素序列应用函数。Applies a function to a sequence of elements in a cumulative way.

Aggregate<TAccumulate,TResult,T>(ImmutableArray<T>, TAccumulate, Func<TAccumulate,T,TAccumulate>, Func<TAccumulate,TResult>)

以累加方式向元素序列应用函数。Applies a function to a sequence of elements in a cumulative way.

All<T>(ImmutableArray<T>, Func<T,Boolean>)

获取一个值,该值指示此数组中的所有元素是否与给定的条件匹配。Gets a value indicating whether all elements in this array match a given condition.

Any<T>(ImmutableArray<T>)

获取一个值,该值指示数组是否包含任何元素。Gets a value indicating whether the array contains any elements.

Any<T>(ImmutableArray<T>, Func<T,Boolean>)

获取一个值,该值指示数组是否包含与指定条件匹配的任何元素。Gets a value indicating whether the array contains any elements that match a specified condition.

ElementAt<T>(ImmutableArray<T>, Int32)

返回数组中指定索引处的元素。Returns the element at a specified index in the array.

ElementAtOrDefault<T>(ImmutableArray<T>, Int32)

返回序列中指定索引处的元素;如果索引超出范围,则返回默认值。Returns the element at a specified index in a sequence or a default value if the index is out of range.

First<T>(ImmutableArray<T>)

返回数组中的第一个元素。Returns the first element in an array.

First<T>(ImmutableArray<T>, Func<T,Boolean>)

返回序列中满足指定条件的第一个元素。Returns the first element in a sequence that satisfies a specified condition.

FirstOrDefault<T>(ImmutableArray<T>)

返回序列中的第一个元素;如果序列中不包含任何元素,则返回默认值。Returns the first element of a sequence, or a default value if the sequence contains no elements.

FirstOrDefault<T>(ImmutableArray<T>, Func<T,Boolean>)

返回序列中满足条件的第一个元素;如果未找到这样的元素,则返回默认值。Returns the first element of the sequence that satisfies a condition or a default value if no such element is found.

Last<T>(ImmutableArray<T>)

返回数组的最后一个元素。Returns the last element of the array.

Last<T>(ImmutableArray<T>, Func<T,Boolean>)

返回序列中满足指定条件的最后一个元素。Returns the last element of a sequence that satisfies a specified condition.

LastOrDefault<T>(ImmutableArray<T>)

返回序列中的最后一个元素;如果序列中不包含任何元素,则返回默认值。Returns the last element of a sequence, or a default value if the sequence contains no elements.

LastOrDefault<T>(ImmutableArray<T>, Func<T,Boolean>)

返回序列中满足条件的最后一个元素;如果未找到这样的元素,则返回默认值。Returns the last element of a sequence that satisfies a condition or a default value if no such element is found.

Select<T,TResult>(ImmutableArray<T>, Func<T,TResult>)

将序列中的每个元素投影到新表单。Projects each element of a sequence into a new form.

Single<T>(ImmutableArray<T>)

返回序列的唯一元素;如果该序列并非恰好包含一个元素,则会引发异常。Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence.

Single<T>(ImmutableArray<T>, Func<T,Boolean>)

返回序列中满足指定条件的唯一元素;如果有多个这样的元素存在,则会引发异常。Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists.

SingleOrDefault<T>(ImmutableArray<T>)

返回数组中的唯一元素;如果序列为空,则返回默认值;如果序列包含多个元素,此方法将引发异常。Returns the only element of the array, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence.

SingleOrDefault<T>(ImmutableArray<T>, Func<T,Boolean>)

返回序列中满足指定条件的唯一元素;如果这类元素不存在,则返回默认值;如果有多个元素满足该条件,此方法将引发异常。Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition.

ToArray<T>(ImmutableArray<T>)

将此数组的内容复制到不可变数组。Copies the contents of this array to a mutable array.

ToDictionary<TKey,T>(ImmutableArray<T>, Func<T,TKey>)

基于此数组的内容创建字典。Creates a dictionary based on the contents of this array.

ToDictionary<TKey,T>(ImmutableArray<T>, Func<T,TKey>, IEqualityComparer<TKey>)

基于此数组的内容创建字典。Creates a dictionary based on the contents of this array.

ToDictionary<TKey,TElement,T>(ImmutableArray<T>, Func<T,TKey>, Func<T,TElement>)

基于此数组的内容创建字典。Creates a dictionary based on the contents of this array.

ToDictionary<TKey,TElement,T>(ImmutableArray<T>, Func<T,TKey>, Func<T,TElement>, IEqualityComparer<TKey>)

基于此数组的内容创建字典。Creates a dictionary based on the contents of this array.

Where<T>(ImmutableArray<T>, Func<T,Boolean>)

基于谓词筛选值序列。Filters a sequence of values based on a predicate.

AsParallel(IEnumerable)

启用查询的并行化。Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerable 转换为 IQueryableConverts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>)

返回元素集合,其中包含源集合中每个节点的上级。Returns a collection of elements that contains the ancestors of every node in the source collection.

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

返回经过筛选的元素集合,其中包含源集合中每个节点的上级。Returns a filtered collection of elements that contains the ancestors of every node in the source collection. 集合中仅包括具有匹配 XName 的元素。Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

返回源集合中每个文档和元素的子代节点的集合。Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

返回元素集合,其中包含源集合中每个元素和文档的子代元素。Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

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

返回经过筛选的元素集合,其中包含源集合中每个元素和文档的子代元素。Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. 集合中仅包括具有匹配 XName 的元素。Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

返回源集合中每个元素和文档的子元素的集合。Returns a collection of the child elements of every element and document in the source collection.

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

返回源集合中经过筛选的每个元素和文档的子元素集合。Returns a filtered collection of the child elements of every element and document in the source collection. 集合中仅包括具有匹配 XName 的元素。Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

返回节点集合(其中包含源集合中的所有节点),并按文档顺序排列。Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

返回源集合中每个文档和元素的子节点集合。Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

将源集合中的每个节点从其父节点中移除。Removes every node in the source collection from its parent node.

适用于

线程安全性

此类型是线程安全的。This type is thread safe.