SORU
12 Ocak 2009, PAZARTESİ


Kullanmaya ne Zaman?dizi karşı Liste<T>:

MyClass[] array;
List<MyClass> list;

Diğer üzerinden bir tercih olduğunda senaryolar nelerdir? Ve neden?

CEVAP
12 Ocak 2009, PAZARTESİ


Bir dizi kullanmak isteyeceğini nadir, gerçekte. Yeniden boyutlandırma dizileri pahalı olduğundan kesinlikle/veri eklemek veya kaldırmak istediğiniz herhangi List<T> bir zaman kullanın. Eğer veri biliyorsanız, sabit uzunlukta ve mikro-optimize bazıları içinçok özelnedeni (kıyaslama sonra), daha sonra bir dizi yararlı olabilir.

List<T> bulunmaktadırçokdaha fazla işlevsellik bir dizi biraz ETMENİZ eşitler rağmen) daha, ve hemen hemen her zaman doğru seçimdir. params değişkenler hariç tabii ki. ;-p

Bir karşı - List<T> tek boyutlu; nerede-var var dikdörtgen (vb) gibi diziler int[,] string[,,] - ama daha farklı yolları var modelleme gibi veri (gerekirse) bir nesne modeli.

Ayrıca Bkz:

O yaparım dediçoktamamen performans için: protobuf-net projemde diziler kullanın;

  • bit kaydırma biraz çok değil mi, bir byte[] çok fazla kodlama için gereklidir;
  • Temel akış (v. v.); BufferedStream vb daha hızlı göndermeden önce ben doldurmak byte[] yerel yuvarlanan bir tampon kullanıyorum;
  • bu boyutta inşa bir kez sabit olduğundan DAHİLİ olarak nesneleri (Foo[] List<Foo> yerine) dizisi tabanlı bir model kullanır, ve çok hızlı olması gerekiyor.

Ama bu kesinlikle bir istisnadır, genel için iş işleme, List<T> her zaman kazanır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Autocar

    Autocar

    11 Mart 2006
  • metallmanutza13

    metallmanutz

    13 NİSAN 2007
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013