-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
Copy pathArraySegment`1+Enumerator.xml
315 lines (293 loc) · 17.8 KB
/
ArraySegment`1+Enumerator.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
<Type Name="ArraySegment<T>+Enumerator" FullName="System.ArraySegment<T>+Enumerator">
<TypeSignature Language="C#" Value="public struct ArraySegment<T>.Enumerator : System.Collections.Generic.IEnumerator<T>" />
<TypeSignature Language="ILAsm" Value=".class nested public sequential ansi sealed beforefieldinit ArraySegment`1/Enumerator<T> extends System.ValueType implements class System.Collections.Generic.IEnumerator`1<!T>, class System.Collections.IEnumerator, class System.IDisposable" />
<TypeSignature Language="DocId" Value="T:System.ArraySegment`1.Enumerator" />
<TypeSignature Language="VB.NET" Value="Public Structure ArraySegment(Of T).Enumerator
Implements IEnumerator(Of T)" />
<TypeSignature Language="F#" Value="type ArraySegment<'T>.Enumerator = struct
 interface IEnumerator<'T>
 interface IEnumerator
 interface IDisposable" />
<TypeSignature Language="C++ CLI" Value="public: value class ArraySegment<T>::Enumerator : System::Collections::Generic::IEnumerator<T>" />
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
<AssemblyVersion>4.2.2.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<TypeForwardingChain>
<TypeForwarding From="netstandard" FromVersion="2.1.0.0" To="System.Runtime" ToVersion="5.0.0.0" FrameworkAlternate="net-5.0" />
<TypeForwarding From="netstandard" FromVersion="2.1.0.0" To="System.Runtime" ToVersion="6.0.0.0" FrameworkAlternate="net-6.0" />
<TypeForwarding From="netstandard" FromVersion="2.1.0.0" To="System.Runtime" ToVersion="7.0.0.0" FrameworkAlternate="net-7.0" />
<TypeForwarding From="netstandard" FromVersion="2.1.0.0" To="System.Runtime" ToVersion="8.0.0.0" FrameworkAlternate="net-8.0" />
<TypeForwarding From="netstandard" FromVersion="2.1.0.0" To="System.Runtime" ToVersion="9.0.0.0" FrameworkAlternate="net-9.0" />
</TypeForwardingChain>
<TypeParameters>
<TypeParameter Name="T">
<Attributes>
<Attribute FrameworkAlternate="net-8.0;net-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
</TypeParameter>
</TypeParameters>
<Base>
<BaseTypeName>System.ValueType</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.Collections.Generic.IEnumerator<T></InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.Collections.IEnumerator</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.IDisposable</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute FrameworkAlternate="net-8.0;net-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.NullableContext(0)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.NullableContext(0)>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Provides an enumerator for the elements of an <see cref="T:System.ArraySegment`1" />.</summary>
<remarks>
<format type="text/markdown">< of the C# language and the [For Each...Next](/dotnet/visual-basic/language-reference/statements/for-each-next-statement) construct in Visual Basic hides the complexity of enumerators. Instead of directly manipulating the enumerator, using `foreach` or `For Each...Next` is recommended.
Initially, the enumerator is positioned before the first element in the <xref:System.ArraySegment%601>. At this position, <xref:System.ArraySegment%601.Enumerator.Current> is undefined. You must call <xref:System.ArraySegment%601.Enumerator.MoveNext%2A> to advance the enumerator to the first item in the <xref:System.ArraySegment%601> before reading the value of <xref:System.ArraySegment%601.Enumerator.Current>.
<xref:System.ArraySegment%601.Enumerator.Current> returns the same value until <xref:System.ArraySegment%601.Enumerator.MoveNext%2A> is called. <xref:System.ArraySegment%601.Enumerator.MoveNext%2A> sets <xref:System.ArraySegment%601.Enumerator.Current> to the next item in the <xref:System.ArraySegment%601>.
If <xref:System.ArraySegment%601.Enumerator.MoveNext%2A> passes the end of the <xref:System.ArraySegment%601>, <xref:System.ArraySegment%601.Enumerator.MoveNext%2A> returns `false`. When the enumerator is at this state, subsequent calls to <xref:System.ArraySegment%601.Enumerator.MoveNext%2A> also return `false` and <xref:System.ArraySegment%601.Enumerator.Current> is undefined. You cannot set <xref:System.ArraySegment%601.Enumerator.Current> to the first item in the <xref:System.ArraySegment%601> again; you must create a new enumerator instance instead.
]]></format>
</remarks>
</Docs>
<Members>
<Member MemberName="Current">
<MemberSignature Language="C#" Value="public T Current { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance !T Current" />
<MemberSignature Language="DocId" Value="P:System.ArraySegment`1.Enumerator.Current" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Current As T" />
<MemberSignature Language="F#" Value="member this.Current : 'T" Usage="System.ArraySegment<'T>.Enumerator.Current" />
<MemberSignature Language="C++ CLI" Value="public:
 property T Current { T get(); };" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:System.Collections.Generic.IEnumerator`1.Current</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
<AssemblyVersion>4.2.2.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="net-8.0;net-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(1)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(1)>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="net-8.0;net-9.0">
<AttributeName Language="C#">[get: System.Runtime.CompilerServices.NullableContext(1)]</AttributeName>
<AttributeName Language="F#">[<get: System.Runtime.CompilerServices.NullableContext(1)>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>T</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a reference to the item at the current position of the enumerator.</summary>
<value>The element of the <see cref="T:System.ArraySegment`1" /> at the current position of the enumerator.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
`Current` is undefined under either of the following conditions:
- Immediately after the enumerator is created, the enumerator is positioned before the first element in the array segment. <xref:System.ArraySegment%601.Enumerator.MoveNext%2A> must be called to advance the enumerator to the first element of the array segment before reading the value of `Current`.
- The last call to <xref:System.ArraySegment%601.Enumerator.MoveNext%2A> returned `false`, which indicates the end of the array segment.
`Current` returns the same value until <xref:System.ArraySegment%601.Enumerator.MoveNext%2A> is called. <xref:System.ArraySegment%601.Enumerator.MoveNext%2A> sets `Current` to the next item in the array segment.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Dispose">
<MemberSignature Language="C#" Value="public void Dispose ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Dispose() cil managed" />
<MemberSignature Language="DocId" Value="M:System.ArraySegment`1.Enumerator.Dispose" />
<MemberSignature Language="VB.NET" Value="Public Sub Dispose ()" />
<MemberSignature Language="F#" Value="abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit" Usage="enumerator.Dispose " />
<MemberSignature Language="C++ CLI" Value="public:
 virtual void Dispose();" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.IDisposable.Dispose</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
<AssemblyVersion>4.2.2.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Releases all resources used by this enumerator instance.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="MoveNext">
<MemberSignature Language="C#" Value="public bool MoveNext ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MoveNext() cil managed" />
<MemberSignature Language="DocId" Value="M:System.ArraySegment`1.Enumerator.MoveNext" />
<MemberSignature Language="VB.NET" Value="Public Function MoveNext () As Boolean" />
<MemberSignature Language="F#" Value="abstract member MoveNext : unit -> bool
override this.MoveNext : unit -> bool" Usage="enumerator.MoveNext " />
<MemberSignature Language="C++ CLI" Value="public:
 virtual bool MoveNext();" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Collections.IEnumerator.MoveNext</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
<AssemblyVersion>4.2.2.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Advances the enumerator to the next element of the <see cref="T:System.ArraySegment`1" />.</summary>
<returns>
<see langword="true" /> if the enumerator was successfully advanced to the next element; <see langword="false" /> if the enumerator has passed the end of the array segment.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
After an enumerator is created, it is positioned before the first element in the array segment, and the first call to `MoveNext` advances the enumerator to the first item in the array segment.
If `MoveNext` passes the end of the array segment, `MoveNext` returns `false`. When the enumerator is at this state, subsequent calls to `MoveNext` also return `false`.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="System.Collections.IEnumerator.Current">
<MemberSignature Language="C#" Value="object? System.Collections.IEnumerator.Current { get; }" FrameworkAlternate="net-5.0;net-6.0;net-7.0;net-8.0;net-9.0;netcore-3.0;netcore-3.1" />
<MemberSignature Language="ILAsm" Value=".property instance object System.Collections.IEnumerator.Current" />
<MemberSignature Language="DocId" Value="P:System.ArraySegment`1.Enumerator.System#Collections#IEnumerator#Current" />
<MemberSignature Language="VB.NET" Value=" ReadOnly Property Current As Object Implements IEnumerator.Current" />
<MemberSignature Language="F#" Value="member this.System.Collections.IEnumerator.Current : obj" Usage="System.Collections.IEnumerator.Current" />
<MemberSignature Language="C++ CLI" Value="property System::Object ^ System::Collections::IEnumerator::Current { System::Object ^ get(); };" />
<MemberSignature Language="C#" Value="object System.Collections.IEnumerator.Current { get; }" FrameworkAlternate="netcore-2.0;netcore-2.1;netcore-2.2;netstandard-2.1" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:System.Collections.IEnumerator.Current</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
<AssemblyVersion>4.2.2.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="net-8.0;net-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the element at the current position of the enumerator.</summary>
<value>The element in the array segment at the current position of the enumerator.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This member is an explicit interface member implementation. It can be used only when the <xref:System.ArraySegment`1.Enumerator> instance is cast to an <xref:System.Collections.IEnumerator> interface.
]]></format>
</remarks>
<exception cref="T:System.InvalidOperationException">The enumerator is positioned before the first element of the array segment or after the last element.</exception>
</Docs>
</Member>
<Member MemberName="System.Collections.IEnumerator.Reset">
<MemberSignature Language="C#" Value="void IEnumerator.Reset ();" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Collections.IEnumerator.Reset() cil managed" />
<MemberSignature Language="DocId" Value="M:System.ArraySegment`1.Enumerator.System#Collections#IEnumerator#Reset" />
<MemberSignature Language="VB.NET" Value="Sub Reset () Implements IEnumerator.Reset" />
<MemberSignature Language="F#" Value="abstract member System.Collections.IEnumerator.Reset : unit -> unit
override this.System.Collections.IEnumerator.Reset : unit -> unit" Usage="enumerator.System.Collections.IEnumerator.Reset " />
<MemberSignature Language="C++ CLI" Value=" virtual void System.Collections.IEnumerator.Reset() = System::Collections::IEnumerator::Reset;" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Collections.IEnumerator.Reset</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
<AssemblyVersion>4.2.2.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Sets the enumerator to its initial position, which is before the first element in the array segment.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This member is an explicit interface member implementation. It can be used only when the <xref:System.ArraySegment`1.Enumerator> instance is cast to an <xref:System.Collections.IEnumerator> interface.
]]></format>
</remarks>
</Docs>
</Member>
</Members>
</Type>