Kullanmaya ne Zaman?dizi karşı Liste<T>:
MyClass[] array;
List<MyClass> list;
Diğer üzerinden bir tercih olduğunda senaryolar nelerdir? Ve neden?
CEVAP
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 doldurmakbyte[]
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.
Dizi/dizi listesi üzerinde bağlantılı ...
Kullanma zamanı .Kullanmaya ilk ne zam...
Ne zaman bir Liste kullanın vs bir Lin...
Java Dizi ya da Liste. Daha hızlı olan...
Ng-eğer karşı iyilik için zaman zaman ...