Entwickler-Ecke
Basistechnologien - Arrayliste - Wert in eine bestimmten Array eintragen
americanaccounts - Mi 04.06.08 12:25
Titel: Arrayliste - Wert in eine bestimmten Array eintragen
Hallo Leute,
also ich habe mal wieder ein Problem.
Ich will einen bestimmten Kontostand ändern (angenommen vom Konto 123), dafür gebe ich einen neuen Wert an z.B. 5000, dieser Wert soll nun im Konto 123 aktualisiert werden.
Bei mir kommt aber immer ein Fehler, nämlich:
Indizierung mit [] kann nicht auf einen Ausdruck vom Typ "double" angewendet werden.
Was hat dieser Fehler genau zu bedeuten?
Hier noch mein Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
|
Console.WriteLine(nameKonto[kontonummer] + ", geben Sie die Kontonummer des Empfängers ein:"); stand.Empfaenger = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Welchen Betrag wollen Sie einzahlen?"); stand.Betrag = Convert.ToDouble(Console.ReadLine()); stand.Wunschwert = stand.Wunschwert + stand.Betrag;
GeldAufKonto.Add(stand.Wunschwert[stand.Empfaenger]); |
Ähm darf ich das überhaupt so schreiben?
Freue mich auf Hilfe.
lg micha
Christian S. - Mi 04.06.08 12:30
Der Aufbau sieht extrem merkwürdig auf. Wozu hast Du eine eigene Klasse "GeldAufKonto" geschrieben? Das Setzen des Wertes eines Kontos sollte eine Methode einer Konto-Klasse sein.
Aber gut, zu Deinem Problem: stand.Empfaenger scheint ein Double zu sein. Die Indizes eines Arrays sind aber Int-Werte. Ändere also den Typ von stand.Empfaenger zu Int. Double macht eh keinen Sinn, oder hast Du mal 'ne Kontonummer mit Komma gesehen ;-)
americanaccounts - Mi 04.06.08 13:26
| Zitat: |
| Wozu hast Du eine eigene Klasse "GeldAufKonto" geschrieben? |
Ne hab ich nicht, habe ne Arrayliste die GeldAufKonto heißst, erstellt:
C#-Quelltext
1: 2:
| ArrayList GeldAufKonto = new ArrayList(); |
| Zitat: |
Aber gut, zu Deinem Problem: stand.Empfaenger scheint ein Double zu sein. Die Indizes eines Arrays sind aber Int-Werte. Ändere also den Typ von stand.Empfaenger zu Int. Double macht eh keinen Sinn, oder hast Du mal 'ne Kontonummer mit Komma gesehen
|
Hab ich am Anfang auch gedacht, aber das ist nicht der Fall..also schon du hattest i-wie recht, weil mein stand.Empfaenger war double, aber die anderen Variablen auch, damit gerade alles angepasst ist. Habe jetzt alles auf int umgeschrieben, aber rate Mal welcher Fehler jetzt kommt :)?
Indizierung mit [] kann nicht auf einen Ausdruck vom Typ "int" angewendet werden.
Wenn ihr/du Codeteile brauchst, einfach nur sagen.
Christian S. - Mi 04.06.08 14:01
Jo, hatte ich eben übersehen: Stand.Wunschwert ist kein Array
americanaccounts - Mi 04.06.08 16:56
Ersteinmal Danke für deine bisherigen Antworten, ich bin auf jedenfall schon weiter gekommen...jetzt kommt es leider zu einer hoffentlich letzten Komplikation:
Ich habe den Wunschwert in ein Array verwandelt, das sieht jetzt so aus:
C#-Quelltext
1: 2:
| int[] wunschwert = { 1000 }; Array.Reverse(wunschwert); |
Dann habe ich alle "stand.Wunschwert"'s durch wunschwert[0] ersetzt.
Funktioniert auch soweit - sogut! Jetzt allerdings wenn ich den neunen Änderungswert (wunschwert[0]) eintragen möchte dann kommt es logischweise zu einem Fehler. Hier eben der Quelltext:
C#-Quelltext
1: 2: 3:
| wunschwert[0] = wunschwert[0] - stand.Betrag;
GeldAufKonto.Add(wunschwert[stand.Empfaenger]); |
Allerdings soll bei der Überweisung ja nicht das Array "wunschwert[x-beliebiger Wert]" (weil stand.Empfaenger ja dynmaisch veränderbar ist) sein, sondern es soll wunschwert
[0][x-beliebigerWert] eingetragen werden...damit der neue Wert auch in das Konto eingetragen wird.
lg ;)
EDIT: Also ich will ja einen bestehenden Array-Listeneintrag mit einem neuem Eintrag überschreiben. Allerdings weiß ich nicht den (richtigen) Weg, wie ich das genau mache, ich bin vorher i-wie davon ausgegangen, dass ich es so mache:
Arrayliste.Add(variable[signalisierung-wo-der-wert-überschrieben-werden-soll]);
Jetzt ist die Variable aber ein Array und ich kenne die korrekte Schreibweise nicht.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!