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

  • AyfionGaming

    AyfionGaming

    20 ŞUBAT 2013
  • NLthomas21

    NLthomas21

    20 Mayıs 2008
  • TechRax

    TechRax

    21 EYLÜL 2009