7 Stimmen

C#, wie man mit konstanten Tabellen umgeht

Es mutet seltsam an, dass die Sprache offenbar keine geeigneten Funktionen enthält.

Ich habe es mit Daten zu tun, die am besten als mehrdimensionales Array ausgedrückt werden sollten, die aber völlig konstant sind und die niemand ändern kann, ohne auch den zugehörigen Code zu ändern. In Delphi liegt die Antwort auf der Hand - eine Konstante, deren Wert die Tabelle ist. Allerdings scheint C# so etwas nicht zu unterstützen.

Google zeigt viele Leute, die sich darüber beschweren, aber keine guten Antworten.

Wie gehen die Menschen mit einer solchen Situation um?

(Und sagen Sie nicht, dass Konstanten nicht in den Code gehören - die letzte, auf die ich gestoßen bin, waren alle möglichen Permutationen von 4 Elementen. Solange sich die Natur der Raumzeit nicht ändert, ist dies in Stein gemeißelt.)

Was ist passiert? Es gab eine Antwort, die dem ziemlich nahe kam, ich fragte nach einem Detail und es verschwand! Die einfache Deklaration eines Arrays erfüllt die Aufgabe - das einzige Problem ist, dass die Array-Zuweisung jedes Mal ausgeführt werden muss. Die vor mir enthält 96 Werte-wie bekomme ich es zu initialisieren nur einmal? Muss ich einfach akzeptieren, dass der Scoping weitaus größer ist als er sein sollte? (So wie es aussieht, ist es in einer 3-Zeilen-Routine, die sich innerhalb einer O(n^3)-Routine befindet).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X