Neden dizi uygular IList? | Netgez.com
SORU
11 Mayıs 2011, ÇARŞAMBA


Neden dizi uygular IList?

Tanımına bakınSistem.Dizisınıf

public abstract class Array : IList, ...

Teorik olarak, bu bit yazmak ve mutlu olmak gerekir

int[] list = new int[] {};
IList iList = (IList)list;

Ben de ılist herhangi bir yöntem aramak gerekir

 ilist.Add(1); //exception here

Benim sorum bir durum, nedenini biliyorum, ama deÄŸildirneden Dizi uygular IList?

CEVAP
11 Mayıs 2011, ÇARŞAMBA


Bir dizi dizini hızlı erişim sağlar çünkü 6*/IList<T> *olduğunu, bu destek sadece toplama arabirimleri. Belki de asıl soru "Neden dizin oluşturucu ile sürekli koleksiyonları için hiçbir arayüzü var mı?" Ve bunun için bir cevabım yok.

Koleksiyon arayüzleri ya da salt okunur yoktur. Ve sürekli bir dizin oluşturucu ile boy arayüzü daha fazla özlüyorum.

IMO orada daha genel birkaç koleksiyon arayüzleri bir koleksiyon özelliklerine göre olmalıdır. Ve adları bir dizin gerçekten aptal IMO ile de, List farklı bir şey olmalıydı.

  • Sadece Numaralandırma IEnumerable<T>
  • Salt okunur ama hiçbir oluÅŸturucu (.Kont ., İçerir...)
  • Yeniden boyutlandırılabilir ama hiçbir oluÅŸturucu, yani gibi ayarlayın (Ekle, Kaldır,...)* *10 geçerli
  • Salt okunur dizin oluÅŸturucu ile (dizin oluÅŸturucu, adres bilgisi,...)
  • Dizin oluÅŸturucu (bir pasör ile dizin oluÅŸturucu) ile sabit boyutu
  • Dizin oluÅŸturucu ile deÄŸiÅŸken boyutu (, Ekle...) mevcut IList<T>

Geçerli koleksiyon arayüzleri kötü bir tasarım bence. Ama özellikleri geçerli olan inan(ve bu, bu yöntemlerin sözleşmenin bir parçası) çünkü onlar ikamesi ilkesine aykırı değil.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • Glove and Boots

    Glove and Bo

    1 ÅžUBAT 2007
  • JonnyEthco

    JonnyEthco

    5 EKİM 2006