CloneCollection<T>.EnumerableCollection<T>¶
- 种类:
class - 命名空间:
Runestone.AesirArchitecture.Internal - 程序集:
Runestone.AesirArchitecture
继承链: System.Object → CloneCollection<T>.EnumerableCollection<T>
实现接口: System.Collections.Generic.IEnumerable<T>,System.Collections.IEnumerable,System.Collections.Generic.ICollection<T>
类型参数
T— 元素类型。
声明¶
[Nullable]
private class CloneCollection<T>.EnumerableCollection<T> : System.Collections.Generic.IEnumerable<T>,
System.Collections.IEnumerable,
System.Collections.Generic.ICollection<T>
只读克隆集合:把源序列物化为租借数组的临时快照, 供批量操作在写入自身前先完成拷贝(如源序列传入集合自身时避免"枚举中修改"异常)。
备注
数组经 Shared 租借、Dispose 时归还; 上游 Cysharp.ObservableCollections 经 CollectionsMarshal 零拷贝取 List{T} 内部数组, Unity netstandard2.1 参考程序集无该 API,本项目以逐项物化作语义等价的降级实现。
构造方法¶
| 名称 | 描述 |
|---|---|
CloneCollection(T[], int) |
以可能为 null 的租借数组构造(null 视为空集合)。 |
CloneCollection(T[], int)¶
以可能为 null 的租借数组构造(null 视为空集合)。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
array |
T[] |
— |
count |
int |
— |
属性¶
| 名称 | 描述 |
|---|---|
IsReadOnly |
固定为只读。 |
Count |
已物化的元素数。 |
IsReadOnly¶
固定为只读。
Count¶
已物化的元素数。
方法¶
声明的方法
| 名称 | 描述 |
|---|---|
GetEnumerator() |
按序枚举已物化区间。 |
Contains(T) |
按值扫描已物化区间。实现 ICollection{T} 契约而非抛异常—— 调用方按接口约定使用 Contains 不应触雷。 |
Remove(T) |
不支持——克隆为只读快照。 |
Add(T) |
不支持——克隆为只读快照。 |
Clear() |
不支持——克隆为只读快照。 |
CopyTo(T[], int) |
拷贝已物化区间到目标数组。 |
继承的方法
| 名称 | 描述 | 声明类型 |
|---|---|---|
GetType() |
— | object |
Equals(object) |
— | object |
GetHashCode() |
— | object |
ToString() |
— | object |
MemberwiseClone() |
— | object |
Finalize() |
— | object |
GetEnumerator()¶
按序枚举已物化区间。
返回值
| 类型 | 说明 |
|---|---|
IEnumerator<T> |
— |
Contains(T)¶
按值扫描已物化区间。实现 ICollection{T} 契约而非抛异常—— 调用方按接口约定使用 Contains 不应触雷。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
item |
T |
— |
返回值
| 类型 | 说明 |
|---|---|
bool |
— |
Remove(T)¶
不支持——克隆为只读快照。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
item |
T |
— |
返回值
| 类型 | 说明 |
|---|---|
bool |
— |
Add(T)¶
不支持——克隆为只读快照。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
item |
T |
— |
Clear()¶
不支持——克隆为只读快照。
CopyTo(T[], int)¶
拷贝已物化区间到目标数组。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
dest |
T[] |
— |
destIndex |
int |
— |
Additional Notes¶
首个
## Additional Notes是增量生成文档标识符,请勿修改标题级别和内容!本文档由Script Doc Generator辅助生成。