8 Nisan 2018 Pazar

Span Yapısı

Giriş
C# 7.2 ile geliyor. Stack'teki belleği geçmek için kullanılır. Heap'teki belleği geçmek için Memory Yapısı kullanılır.

operator [] metodu
Örnek
Yanlış kullanımı şöyle.
async Task DoSomethingAsync(Span<byte> buffer) {
  buffer[0] = 0;
  await Something(); // Oops! The stack unwinds here, but the buffer below
                     // cannot survive the continuation.
  buffer[0] = 1;
}
Length Alanı
Şöyle yaparız.
Span<char> s = ...;
var l = s.Length;
ReadonlySpan Yapısı
Span yapısının kardeşi. Şöyle yaparız.
void PerformOperation<T>(ReadOnlySpan<T> value)
{
}

Hiç yorum yok:

Yorum Gönder