SORU
2 Ocak 2009, Cuma


C dizi dilimleri#

Bunu nasıl yapıyorsun? Bir bayt dizisi verilir

byte[] foo = new byte[4096];

Nasıl ayrı bir dizi olarak dizinin ilk x bayt alabilirim? (Özellikle, IEnumerable<byte>) ihtiyacım var

Bu Sockets ile çalışmak için. En kolay yolu dizi doğrama, Perls sözdizimi benzer olmalı:

@bar = @foo[0..40];

@bar diziye ilk 41 öğeleri döndürür. C bir şey var# kayıp olduğumu, yoksa yapmam gereken başka bir şey var mı?

SERİ benim için bir seçenek değil (.Eğer herhangi bir yardım ederse NET 3.5),.

CEVAP
2 Ocak 2009, Cuma


Diziler foo IEnumerable<byte> kendisi sayısız, çok. Sadece Take() dizisi gibi yöntemler bunun dışında istediğinizi elde ETMENİZ (Using System.Linq ile Seri ad eklemeyi unutmayın):

byte[] foo = new byte[4096];

var bar = foo.Take(41);

Eğer gerçekten IEnumerable<byte> herhangi bir değer bir dizi gerekiyorsa, bunun için ToArray() yöntemi kullanabilirsiniz. Burada durum gibi görünmüyor.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Benjamin Heckendorn

    Benjamin Hec

    4 Mayıs 2008
  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • уσ ρℓz sυв ιℓℓ sυв вαcқ

    уσ ρℓz

    14 EKİM 2010