Wie diese Methode zu entwickeln, wenn es multidimensionalen Arrays zurückgibt?
-
10-07-2019 - |
Frage
Ich bin die Gestaltung jetzt eine SNMP-Bibliothek. Das Problem wird durch eine spezielle Funktion wie diese verursacht wird,
*** GetTable (string id)
Diese Funktion kann RÜCKGABE Variable [,], welches ein zweidimensionales Feld manchmal, aber auch Variable [,,] und Arrays mit mehr Dimensionen. Deshalb glaube ich, es ist nicht vernünftig feste Anordnung zurückzukehren, wie Variable [,], Variable [,,] und so weiter.
Aber was soll gibt diese Methode dann? Wie es zu entwerfen? Was ist mit einem benutzerdefinierten Variable?
Jeder Vorschlag ist willkommen.
Lösung
Als allgemeine Regel gilt, einen benutzerdefinierten Typ Rückkehr ermöglicht eine größere Flexibilität bei der Darstellung Ihrer Daten. Ich würde auch Ihre eigenen Methoden für den Zugriff auf die Daten in dieser Sammlung begünstigen die Bereitstellung, anstatt auszusetzen multidimensionalen Arrays.
Ich vermeide im Allgemeinen mehrdimensionalen rechteckigen Anordnungen selbst verwenden. In vielen Fällen sind mehrdimensionale verzweigte Arrays bequemer, wie Sie ein Stück heraus isoliert heben kann.
Andere Tipps
Nun, man könnte Array
zurückkehren und die Anrufer läßt die .Rank
überprüfen?
Natürlich Rückgabe eines Arrays kann nicht die beste Option in erster Linie sein (je nach Szenario): Arrays als etwas schädlich
ein mehrdimensionales Array zurückkehrend ist eine riskante choiche. Ich würde vorschlagen, zusammen mit Methoden, um eine individuelle Sammlung zu implementieren Informationen zu erhalten über es internen Zustand und Methoden sind, die Daten von ihm zu bekommen. Es ist flexibler und weniger anfällig für Fehler, wenn der Client ruft Ihre Methode.
Ein öffentliches Api Wenn die Erstellung empfiehlt es sich, eine stark typisierte Sammlung
Hope, das hilft.