Je construis une structure de données arborescente et surchargée [] pour que je puisse diresurcharge [] [] dans C#
node["key1", "key2", "key3"]
qui retourne le nœud dont les parents 1, 2 et 3 niveaux au-dessus sont les nœuds avec ces clés. les noeuds carte conceptuelle à un tableau de données, donc ce que j'ai maintenant cette fonction:
node[keys...].SetValue(i, value)
qui définit la valeur i-ième données du nœud. ce qui serait bien est si je pouvais le faire:
node[keys][i] = value
problème est
, nœud [clés] renvoie un noeud, de sorte que l'indexation [i] tente d'obtenir à un autre nœud. fondamentalement ce que je veux être capable de faire est de surcharger "[] []" en tant qu'opérateur, ce que je ne peux pas.
Y a-t-il un moyen de savoir ce que j'essaie de faire?
En fait, il n'y a pas d'opérateur [] []. Il applique toujours [] l'objet suivant, comme avec les tableaux dentelés. – Lucero
En fait, techniquement, en C#, [] n'est pas un "opérateur" du tout. –
On dirait que ma réponse est complètement hors de propos à la question :) Je pensais que la question voulait changer [x, y, z] en [x] [y] [z]. Je vais laisser ici si quelqu'un a besoin de faire ce genre de chose. –