Autor |
Beitrag |
chenjung
Hält's aus hier
Beiträge: 5
Win7 / Ubuntu / WinServer 2008R2
VB2010 / C# / HTML / PHP
|
Verfasst: So 03.11.13 03:55
Hallo ihr lieben,
nachdem das mit der Anmeldung auch geklappt hat, wollte ich mich nochmals beim Admin bedanken!
Also, ich bin der Michael, bin 30 Jahre (alt/jung) und habe mir nun zum Ziel gesetzt, C# zu lernen.
VB2010 habe ich mir so bisschen beigebracht, habe da auch einen kleinen Texteditor erstell.
Ich habe allerdings gleich auch eine Frage zu C#
Ich arbeite zur Zeit das Buch "Einsteig in Visual C# 2012" von Galileo Computing durch.
Und jetzt frage ich mich, gibt es mehr Wege zu Ziel, also zur Lösung von Aufgaben, bzw. deren Quellcode.
In der einen Aufgabe, sollte ich eine Form erstellen, mit Label, 2 Button und auf dem Label sollte Anschrift, Gehalt und alter ausgegeben werden.
Mein Lösungsweg sah so aus!
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45:
| namespace Datentypen_übung { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void cmdAnzeige_Click(object sender, EventArgs e) { int It;
decimal De;
string St; string St1; string St2;
It = 30; De = 1340.70m; St = "Michael Mustermann"; St1 = "Musterstr. 19"; St2 = "6000 Musterstadt";
lblAnzeige.Text = "Anschrift: " + "\n" + St + "\n" + St1 + "\n" + St2 + "\n" + "\n" + "Alter: " + It + "\n" + "Gehalt: " + De + "\n"; }
private void cmdclose_Click(object sender, EventArgs e) { Close(); }
private void Form1_Load(object sender, EventArgs e) {
} } } |
Die Musterlösung so:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
| namespace ÜDatentypen { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void cmdAnzeigen_Click(object sender, EventArgs e) { string nachname, vorname, strasse, plz, ort; int alter; double gehalt;
nachname = "Clever"; vorname = "Claus"; strasse = "Bergstraße 34"; plz = "09445"; ort = "Brunnstadt"; alter = 32; gehalt = 2852.55;
lblA.Text = "Adresse: " + "\n" + vorname + " " + nachname + "\n" + strasse + "\n" + plz + " " + ort + "\n" + "\n" + "Alter: " + alter + "\n" + "Gehalt: " + gehalt; }
private void Form1_Load(object sender, EventArgs e) {
} } } |
Jetzt ist meine Frage, ist mein Weg falsch? Bei beiden erscheint das, was erscheinen soll
Moderiert von Th69: Quote- durch C#-Tags ersetzt
|
|
OlafSt
      
Beiträge: 486
Erhaltene Danke: 99
Win7, Win81, Win10
Tokyo, VS2017
|
Verfasst: So 03.11.13 04:02
Nach Rom führen bekanntlich viele Wege.
Wenn also das Ergebnis deines Programms identisch mit der angebotenen Lösung ist, dann ist die Lösung richtig. Es kann nur sein, das der Lösungsweg nicht dem entspricht, was erwartet wird. Das kann ich in diesem Fall nicht so recht erkennen.
_________________ Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
Für diesen Beitrag haben gedankt: chenjung
|
|
chenjung 
Hält's aus hier
Beiträge: 5
Win7 / Ubuntu / WinServer 2008R2
VB2010 / C# / HTML / PHP
|
Verfasst: So 03.11.13 04:06
Danke für die Antwort.
Das Buch geht nicht weiter auf andere Lösungswege ein, ich denke, ganz verkehrt ist mein Weg dann nicht.
Ich muss noch viel Lernen 
|
|
Palladin007
      
Beiträge: 1282
Erhaltene Danke: 182
Windows 11 x64 Pro
C# (Visual Studio Preview)
|
Verfasst: So 03.11.13 06:21
Im Prinzip sind beide Versionen gleich, der Unterschied ist die Schreibweise und Übersichtlichkeit.
Zuerst einmal solltest du dir eine ganz wichtige Regel einprägen: Vergebe sprechende Namen.
Wenn du eine Variable siehst und anhand des Namens sofort weißt, was drin ist, dann hast du es richtig gemacht. Bedenke aber auch, dass du es erst dann wirklich richtig gemacht hast, wenn dir das auch noch in zwei Monaten gelingt.
Schau dir mal das "Muster-Beispiel" an, dort haben die Variablen Namen, bei denen du gleich weißt, was sie beinhalten.
An sich gibt es noch sehr viele Dinge, die nicht in diesem Buch stehen. Stichwort: Pattern
Auch sind die Beispiele in dem Buch nicht unbedingt gut, aber du bekommst dort auf jeden Fall alles gelehrt, was du brauchst und noch mehr.
Überlege daher lieber, ob die Bespiele wirklich so gut geschrieben sind und bedenke dabei, dass der Code, den du schreibst, in erster Linie leserlich und verständlich sein soll. Es bringt dir nix, wenn du deinen eigenen Code nicht mehr verstehst.
Auch sollte alles wirklich nur eine Aufgabe haben. Eine Methode CreateAdressString sollte wirklich nur den Adress-Text erstellen, mehr nicht. Die dafür benötigten Daten musst du ihr geben, denn wenn diese Methode intern die Daten selber erstellt (So wie im Beispiel), dann sind es wieder mehrere Aufgaben. Single Responsibility Prinzip
Zuletzt bearbeitet von Palladin007 am So 03.11.13 18:59, insgesamt 2-mal bearbeitet
|
|
Palladin007
      
Beiträge: 1282
Erhaltene Danke: 182
Windows 11 x64 Pro
C# (Visual Studio Preview)
|
Verfasst: So 03.11.13 06:24
Da meine letzte Nachricht bei mir aus irgendeinem Grund nicht angezeigt wird, schreibe ich sie hier noch einmal.
Kann bitte ein freundlicher Moderator die vorherige leere Nachricht löschen und dann hier diesen Zusatz entfernen?
Im Prinzip sind beide Versionen gleich, der Unterschied ist die Schreibweise und Übersichtlichkeit.
Zuerst einmal solltest du dir eine ganz wichtige Regel einprägen: Vergebe sprechende Namen.
Wenn du eine Variable siehst und anhand des Namens sofort weißt, was drin ist, dann hast du es richtig gemacht. Bedenke aber auch, dass du es erst dann wirklich richtig gemacht hast, wenn dir das auch noch in zwei Monaten gelingt.
Schau dir mal das "Muster-Beispiel" an, dort haben die Variablen Namen, bei denen du gleich weißt, was sie beinhalten.
An sich gibt es noch sehr viele Dinge, die nicht in diesem Buch stehen. Stichwort: Pattern
Auch sind die Beispiele in dem Buch nicht unbedingt gut, aber du bekommst dort auf jeden Fall alles gelehrt, was du brauchst und noch mehr.
Überlege daher lieber, ob die Bespiele wirklich so gut geschrieben sind und bedenke dabei, dass der Code, den du schreibst, in erster Linie leserlich und verständlich sein soll. Es bringt dir nix, wenn du deinen eigenen Code nicht mehr verstehst.
Auch sollte alles wirklich nur eine Aufgabe haben. Eine Methode CreateAdressString sollte wirklich nur den Adress-Text erstellen, mehr nicht. Die dafür benötigten Daten musst du ihr geben, denn wenn diese Methode intern die Daten selber erstellt (So wie im Beispiel), dann sind es wieder mehrere Aufgaben. [meta] de.wikipedia.org/wik...ility-Prinzip[/meta]
|
|
chenjung 
Hält's aus hier
Beiträge: 5
Win7 / Ubuntu / WinServer 2008R2
VB2010 / C# / HTML / PHP
|
Verfasst: So 03.11.13 06:55
Deine Antworten sind nicht zu sehen? Was ist hier los? ^^
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 03.11.13 09:52
Das liegt an der URL im Meta-Tag statt URL-Tag... Hier die korrekte Nachricht: Palladin007 hat folgendes geschrieben : | Im Prinzip sind beide Versionen gleich, der Unterschied ist die Schreibweise und Übersichtlichkeit.
Zuerst einmal solltest du dir eine ganz wichtige Regel einprägen: Vergebe sprechende Namen.
Wenn du eine Variable siehst und anhand des Namens sofort weißt, was drin ist, dann hast du es richtig gemacht. Bedenke aber auch, dass du es erst dann wirklich richtig gemacht hast, wenn dir das auch noch in zwei Monaten gelingt.
Schau dir mal das "Muster-Beispiel" an, dort haben die Variablen Namen, bei denen du gleich weißt, was sie beinhalten.
An sich gibt es noch sehr viele Dinge, die nicht in diesem Buch stehen. Stichwort: Pattern
Auch sind die Beispiele in dem Buch nicht unbedingt gut, aber du bekommst dort auf jeden Fall alles gelehrt, was du brauchst und noch mehr.
Überlege daher lieber, ob die Bespiele wirklich so gut geschrieben sind und bedenke dabei, dass der Code, den du schreibst, in erster Linie leserlich und verständlich sein soll. Es bringt dir nix, wenn du deinen eigenen Code nicht mehr verstehst.
Auch sollte alles wirklich nur eine Aufgabe haben. Eine Methode CreateAdressString sollte wirklich nur den Adress-Text erstellen, mehr nicht. Die dafür benötigten Daten musst du ihr geben, denn wenn diese Methode intern die Daten selber erstellt (So wie im Beispiel), dann sind es wieder mehrere Aufgaben. de.wikipedia.org/wik...sponsibility-Prinzip |
Für diesen Beitrag haben gedankt: chenjung
|
|
Palladin007
      
Beiträge: 1282
Erhaltene Danke: 182
Windows 11 x64 Pro
C# (Visual Studio Preview)
|
Verfasst: So 03.11.13 19:01
Achso -.-
Ich hatte gehofft, dass man so auch einen Link mit geben kann. Als es dann nicht ging, hab ich gedacht, dass das Problem an meinem PC liegt, da ich ein ähnliches Problem schon mal hatte.
Für diesen Beitrag haben gedankt: chenjung
|
|
chenjung 
Hält's aus hier
Beiträge: 5
Win7 / Ubuntu / WinServer 2008R2
VB2010 / C# / HTML / PHP
|
Verfasst: So 03.11.13 21:29
Vielen lieben Dank an euch beide.
Ich werde mir das merken 
|
|
|