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

  • bethliebert

    bethliebert

    23 EKİM 2008
  • engineerguy

    engineerguy

    10 Ocak 2010
  • уσ ρℓz sυв ιℓℓ sυв вαcқ

    уσ ρℓz

    14 EKİM 2010