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 foreach kullanılması For Each...Next ö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 MoveNextokumadan önce numaralandırıcıyı içindeki ReadOnlySpan<T> ilk öğeye ilerletmek için aramanız Current gerekir.
Current çağrılana kadar MoveNext aynı değeri döndürür. MoveNextiçindeki bir sonraki öğeye CurrentayarlarReadOnlySpan<T>.
öğesinin sonunu geçerse MoveNext döndürür ReadOnlySpan<T>MoveNext.false 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 Current yeniden ayarlayamazsınızReadOnlySpan<T>; 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 arabirimini IEnumerator<T> 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. |