Zum Inhalt springen

C#: Getter für Array, Setter für einzelnes Element


Guybrush Threepwood

Empfohlene Beiträge

Ich hab in meiner Klasse ein Array z.b.


private int[] iArray;
[/PHP]

Jetzt möchte ich einen Getter und einen Setter dafür Schreiben wobei man mit dem Getter das gesamte Array zurückbekommt, mit dem Setter aber nur ein einzelnes Element in dem Array ändern kann.

Der Getter ist ja kein Problem, nur wie mache ich das beim Setter :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Pirat,

Du kannst entweder inen indexer auf die komplette Klasse legen, oder eine Setter Methode anlegen.

public DingsDa this[int index]

{

set { array[index] = value; }

get { return null; }

}

oder

public void SetArrayValue(int index, DingsDa value)

{

array[index] = value;

}

einen einzelnen Setter kannst Du leider nicht mit einem Index versehen.

MfG

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Getter ist ja kein Problem, nur wie mache ich das beim Setter :confused:

Unter der Annahme, dass Du keinen Indexer möchtest:

Wenn es darum geht ein beliebiges, vom Aufrufer angegebenes Element des Arrays mit einem neuen, ebenfalls vom Aufrufer anzugebenden Wert zu versehen, dann kannst Du das nicht über ein "set"-Property lösen, denn Du benötigst neben dem Wert noch mindestens die Index-Position im Array. Du kannst aber ganz normal eine Methode schreiben, die einfach den entsprechenden Wert mit einem angegebenen Index ins Array schreibt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hab in meiner Klasse ein Array z.b.


private int[] iArray;
[/PHP]

Jetzt möchte ich einen Getter und einen Setter dafür Schreiben wobei man mit dem Getter das gesamte Array zurückbekommt, mit dem Setter aber nur ein einzelnes Element in dem Array ändern kann.

Der Getter ist ja kein Problem, nur wie mache ich das beim Setter :confused:

Willst du das dann so verwenden?

myArray = deineKlasse;

und

deineKlasse[i] = 3;

Dann kannst du doch direkt ein Array nehmen. Oder eine eigene Collection erstellen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das von Dir verlinkte Beispiel beschäftigt sich mit einem anderen Sachverhalt, bei dem von der "get"-Methode eine Kopie eines Arrays zurückgegeben wird.

Guybrush kann durchaus von der "get"-Methode eine Referenz auf sein Array zurückgeben lassen und braucht dann auch keine "set"-Methode, um einzelne Einträge zu verändern. Nur wenn er die einzelnen Einträge bei vor einer Zuweisung validieren möchte, muss er eine eigene Methode schreiben, damit keine Referenz auf sein internes Array ausserhalb der Klasse erreichbar ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...