ReadOnlySpan<T>.Enumerator Yapı
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
öğesinin öğeleri için bir ReadOnlySpan<T>numaralandırıcı sağlar.
public: value class ReadOnlySpan<T>::Enumerator : System::Collections::Generic::IEnumerator<T>
public: value class ReadOnlySpan<T>::Enumerator
public ref struct ReadOnlySpan<T>.Enumerator : System.Collections.Generic.IEnumerator<T>
public ref struct ReadOnlySpan<T>.Enumerator
type ReadOnlySpan<'T>.Enumerator = struct
interface IEnumerator<'T>
interface IEnumerator
interface IDisposable
type ReadOnlySpan<'T>.Enumerator = struct
Public Structure ReadOnlySpan(Of T).Enumerator
Implements IEnumerator(Of T)
Public Structure ReadOnlySpan(Of T).Enumerator
Tür Parametreleri
- T
- Devralma
- Uygulamalar
Açıklamalar
C# dilinin C# foreach ve For Each... next yapısı Visual Basic numaralandırıcıların karmaşıklığını gizler. Numaralandırıcıyı doğrudan işlemek yerine veya For Each...Next kullanılması foreach önerilir.
Başlangıçta, numaralandırıcı içindeki ilk öğeden ReadOnlySpan<T>önce konumlandırılır. Bu konumda tanımlanmamıştır Current . değerini Currentokumadan önce numaralandırıcıyı içindeki ReadOnlySpan<T> ilk öğeye ilerletmek için aramanız MoveNext gerekir.
Current çağrılana kadar MoveNext aynı değeri döndürür. MoveNextiçindeki bir sonraki öğeye ReadOnlySpan<T>ayarlarCurrent.
öğesinin sonunu geçerse MoveNext döndürür MoveNextfalse.ReadOnlySpan<T> Numaralandırıcı bu durumdayken, sonraki çağrılar da döndürülür MoveNextfalse ve Current tanımlanmamıştır. içindeki ilk öğeye ReadOnlySpan<T> yeniden ayarlayamazsınızCurrent; bunun yerine yeni bir numaralandırıcı örneği oluşturmanız gerekir.
ReadOnlySpan<T> yığınında ayrılmış olsa da, üzerinde işaret ettiği ReadOnlySpan<T> temel veriler olmayabilir. Bu nedenle, aracılığıyla ReadOnlySpan<T> numaralandırma, iş parçacığı açısından güvenli bir yordam değildir. Numaralandırma sırasında iş parçacığı güvenliğini garanti etmek için kendi eşitlemenizi uygulamanız gerekir.
.NET'daki diğer bazı numaralandırıcı yapılarının aksine ReadOnlySpan<T>.Enumerator:
veya IEnumerator<T> arabirimini IEnumerator uygulamaz. Bunun nedeni ReadOnlySpan<T>.Enumerator bir başvuru yapısı olması ve kutulanamamasıdır.
Numaralandırıcıyı span'daki ilk öğeden önceki ilk konumuna ayarlayabilen bir
Resetyöntem içermez. (Yöntemi arabirimin IEnumerator.Reset() bir parçası olarak uygulanmalıdır, ancak çoğu uygulayıcı bir özel durum oluşturur veya uygulama sağlamaz.)
Özellikler
| Name | Description |
|---|---|
| Current |
Numaralandırıcının geçerli konumundaki öğeye başvuru alır. |
Yöntemler
| Name | Description |
|---|---|
| MoveNext() |
Numaralandırıcıyı öğesinin sonraki öğesine ilerletir ReadOnlySpan<T>. |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Yönetilmeyen kaynakları serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri gerçekleştirir. |
| IEnumerator.Current |
Koleksiyondaki öğesini numaralandırıcının geçerli konumunda alır. |
| IEnumerator.Reset() |
Numaralandırıcıyı, koleksiyondaki ilk öğeden önceki ilk konumuna ayarlar. |
| IEnumerator<T>.Current |
Koleksiyondaki öğesini numaralandırıcının geçerli konumunda alır. |