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

  • 趣味そうこ♪

    趣味そう

    3 Mart 2010
  • Menglong Tav

    Menglong Tav

    18 Temmuz 2010
  • Nickcidious

    Nickcidious

    6 HAZİRAN 2011