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
public ref struct ReadOnlySpan<T>.Enumerator
type ReadOnlySpan<'T>.Enumerator = struct
Public Structure ReadOnlySpan(Of T).Enumerator
Tür Parametreleri
- T
- Devralma
Açıklamalar
C# dilinin C# foreach'i ve Her biri için... Visual Basic'teki sonraki yapı, numaralandırıcıların karmaşıklığını gizler. Numaralandırıcıyı doğrudan düzenlemek 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 çağrısında MoveNext bulunmalısınız.
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 MoveNext false
.ReadOnlySpan<T> Numaralandırıcı bu durumdayken, sonraki çağrılar MoveNext da döndürülür false
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ığında ayrılmış olsa da, üzerinde işaret ettiği ReadOnlySpan<T> temel alınan veriler olmayabilir. Bu nedenle, bir ReadOnlySpan<T> aracılığıyla numaralandırmak, 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'teki 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 önce başlangıç konumuna ayarlayabilen bir
Reset
yöntem içermez. (Yöntemin IEnumerator.Reset() arabirimin bir parçası olarak uygulanması gerekir, ancak çoğu uygulayıcı bir özel durum oluşturur veya uygulama sağlamaz.)
Özellikler
Current |
Numaralandırıcının geçerli konumundaki öğeye başvuru alır. |
Yöntemler
MoveNext() |
Numaralandırıcıyı öğesinin sonraki öğesine ilerletir ReadOnlySpan<T>. |