SORU
5 Ocak 2011, ÇARŞAMBA


ArraySegment<T> sınıfı nedir?

Ben sadece MessageEncoder sınıf sınıflara sırasında ArraySegment<byte> türüne rastladım.

Ben şimdi verilen bir dizinin bir parçası olduğunu anlamak, bir uzaklık alır, sayısız değil, bir dizin oluşturucu yok, ama ben hala onun kullanımını anlamak için başarısız. Birisi bir örnekle açıklayabilecek olan var mı?

CEVAP
26 EKİM 2011, ÇARŞAMBA


ArraySegment<T> hemen uygular lot more useful in .NET 4.5 bir hale geldi:

  • IList<T>
  • ICollection<T>
  • IEnumerable<T>
  • IEnumerable
  • IReadOnlyList<T>
  • IReadOnlyCollection<T>

hiçbir arabirimleri uygulayan .NET 4 version karşıt olarak.

Sınıf şimdi katılmak harika dünyanın SERİ olarak elimizden zamanki ETMENİZ şeyler gibi sorgu içeriğini, ters içeriğini etkilemeden orijinal dizi, ilk madde, ve benzeri:

var array = new byte[] { 5, 8, 9, 20, 70, 44, 2, 4 };
array.Dump();
var segment = new ArraySegment<byte>(array, 2, 3);
segment.Dump(); // output: 9, 20, 70
segment.Reverse().Dump(); // output 70, 20, 9
segment.Any(s => s == 99).Dump(); // output false
segment.First().Dump(); // output 9
array.Dump(); // no change

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008