Cela a probablement à voir avec l'héritage. Le Tableau de la classe ne peut pas être manuellement dérivés. Mais bizarrement, vous pouvez déclarer un tableau de n'importe quoi, et obtenir une instance de Système.Tableau qui est fortement typé, avant même les génériques vous a permis d'avoir des collections fortement typées. Tableau semble être l'un de ceux de la magie des pièces de la charpente.
Notez également qu'aucun de ces méthodes fournies sur un tableau massivement modifier le tableau. SetValue()
semble être la seule qui change quoi que ce soit. Le Tableau de la classe elle-même fournit de nombreuses méthodes statiques qui permettent de modifier le contenu du tableau, comme Reverse() et de Tri(). Vous ne savez pas si c'est important - peut-être que quelqu'un ici peut donner quelques explications pour expliquer pourquoi c'est le cas.
En revanche, List<T>
(ce qui n'est pas dans la dans la 1.0 cadre jours) et des classes comme l' ArrayList
(qui était à cette époque) sont juste de l'usine de classes sans signification particulière dans le cadre. Ils fournissent une commune .Sort() méthode d'instance, de sorte que lorsque vous avez hérité de ces classes, vous avez que les fonctionnalités ou pourrait le remplacer.
Cependant, ces types de méthodes de tri ont disparu de la vogue de toute façon que les méthodes d'extension comme Linq .OrderBy() style de tri sont devenus la prochaine évolution. Vous pouvez interroger et de trier des tableaux et des Listes et tout autre objet énumérable avec le même mécanisme de maintenant, ce qui est vraiment, vraiment sympa.
-- EDIT --
Les autres, plus cyniques réponse est peut être tout simplement - c'est la façon dont Java fait de sorte que Microsoft fait de la même manière dans la version 1.0 du cadre, car à l'époque, ils étaient occupés à jouer de rattrapage.