Question

J'aimerais créer un dictionnaire indexé par Strings: Dictionary (of String, ...)

Je voudrais que le type après la virgule soit un tableau de MyObject.

Si tout ce que je fais est le suivant:

Dim D as new Dictionary(of String, Array)

J'ai l'impression de manquer certaines performances dès que j'accède à un membre:

Dim Object1 as MyObject = MyDictionary("Key1")(4)

Ne doit-il pas effectuer une recherche pour déterminer le type d'objet que le tableau contient chaque fois que j'y accède de cette manière?

Était-ce utile?

La solution

Array n'est pas ce que vous voulez; utilisez plutôt le tableau fortement typé que vous voulez avoir:

Dim D as New Dictionary(Of String, MyObject())()

Cela fonctionne comme un charme.

Autres conseils

Si la valeur doit réellement être un tableau de MyObject, vous pouvez procéder comme suit:

Dim D as new Dictionary(of String, MyObject())

En utilisant array, vous invoquerez le transtypage lorsque vous le récupérerez. Que diriez-vous de ceci:

Dim D as new Dictionary(of String, List(of MyObject))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top