Entwickler-Ecke
C# - Die Sprache - Get/Set mehrdimensionales Array
C#David - Di 05.06.18 09:41
Titel: Get/Set mehrdimensionales Array
Hey Leute,
ich möchte ein zweidimensionales/dreidimensionales Array in einer Get-/Set-Porperty verwenden. Egal wie ich dieses in den Return-Teil anspreche, es kommt immer eine Fehlermeldung. Ist das überhaupt möglich, wenn ja wie? Vielen Dank!
C#-Quelltext
1: 2: 3: 4: 5: 6:
| public string [,,] information = new string [50,1,1];
public string[,,] Information { get {return information; } } |
Fehler: Mehrdeutigkeit zwischen "Test.Functionality.information". und "Test.Functionality.information(int,int,string)".
Auch wenn ich das Array im Return-Teil mit "get {return information(,,)}" anspreche, kommt die Fehlermeldung, dass ein Argument fehlt??
C#-Quelltext
1: 2: 3: 4:
| public string[,,] Information { get {return information(,,); } } |
Moderiert von Th69: C#-Tags hinzugefügt
Th69 - Di 05.06.18 09:59
Du hast noch eine Methode gleichen Namens in der Klasse definiert.
Palladin007 - Di 05.06.18 11:29
Nicht ganz, das Problem ist die Klassen-Variable, die heißt wie die Methode. Zwei Methoden sind möglich, solange die Parameter eine eindeutige Unterscheidung erlauben, bei Methoden und Variablen ist das aber nicht erlaubt.
Gleich mehrere Punkte fallen mir auf:
- Klassen-Variablen sollten nicht public sein
- Klassen-Variablen sollten klein geschrieben werden und mit einem Unterstrich beginnen
- Der Name einer Methode sollte Verben verwenden
- Ein dreidimensionales String-Array riecht danach, dass hier eine Klasse sinnvoller sein könnte
C#David - Di 05.06.18 14:49
Alles klar...vielen Dank für eure schnelle Hilfe!. Und ist es auch möglich ein mehrdimensionales Array bestehend aus Zeilen/Spalten mit unterschiedlichen Datentypen zu deklarieren/ initialisieren? Wenn ja, wie? Nochmals besten Dank!
Palladin007 - Di 05.06.18 15:10
Nein, geht nicht.
Um das zu erreichen brauchst Du einen Typ, der wiederum eine Liste vom nächsten Typ beinhaltet.
Das ist aber genau das, was Du haben willst, denn damit bist Du langfristig flexibler.
Außer natürlich, deine Daten lassen sich nur als dreidimensionales Array sinnvoll beschreiben, dann ist das egal.
Wenn Du aber z.B. in der zweiten Ebene Namen für das Array der dritten Ebene hast, könntest Du das z.B. als Dictionary abbilden.
Wirklich was darüber sagen kann man aber nicht, denn je nach Situation und Anwendungsfall sieht das völlig anders aus.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!