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

  • Eddie Bravo

    Eddie Bravo

    17 EKİM 2006
  • incognitotraveler

    incognitotra

    27 Mayıs 2010
  • iZAPPA

    iZAPPA

    16 Temmuz 2010