Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

21

05.09.2012, 15:33

Klar, trotzdem musst Du das bei jedem Parse mit angeben und auf Dauer nervt das tierisch.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

MitgliedXYZ

Alter Hase

  • »MitgliedXYZ« ist der Autor dieses Themas

Beiträge: 1 369

Wohnort: Bayern

  • Private Nachricht senden

22

05.09.2012, 18:24

Danke!
Werde mir jetzt mal das OpenBook anschauen (ist das eigentlich legal, das du es einfach so, also den Link, an mich weitergegeben hast)?

Nun habe ich mir die Zeile zusammengebastelt, die ich benötige:

C#-Quelltext

1
 double dKommazahl = double.Parse(Console.ReadLine());



Wo ist eigentlich der Unterschied zwischen?

C#-Quelltext

1
double dEingabe = Convert.ToDouble(Console.ReadLine());

und

C#-Quelltext

1
double dEingabe = double.Parse(Console.ReadLine());

Abgesehen davon, das nur das 2. funktioniert?

Und weil ich schon gerade dabei bin (meine Letzte Frage für heute):
Warum kann ich bei Consolenanwendungen nicht auf Variablen zugreifen, wie in dem folgendem Beispiel:

public int iZahl1 = 0;
static void Main(string[] args)
{
//Zugriff auf iZahl1 nicht möglich
}
Aber es ist auch nicht möglich, das ich es einfach so mache:

public int iZahl1 = 0;
public void Main(string[] args)
{
iZahl1 = 2;
}
Weil sich dann die Anwendung erst gar nicht ausführen lässt.


Danke schon mal, ich hoffe das ich euch dann von meinen vielen Fragen wieder verschonen kann.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »MitgliedXYZ« (05.09.2012, 18:48)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

23

05.09.2012, 18:52

(ist das eigentlich legal, das du es einfach so, also den Link, an mich weitergegeben hast)?

Diese Art von Humor versteh ich irgendwie nicht. Oder glaubst Du ernsthaft, dass Links zu öffentlichem Material weiterzugeben verboten ist?

Du kannst aus einem static-Kontext heraus auch nur auf andere static-Member zugreifen. Die Main muss aber static sein, weil diese ohne Instanz eines Objekts aufrufbar sein muss. Ernsthaft, lies ein Buch.

Und... gewöhn Dir ungarische Notation gar nicht erst an. Datentypen als Präfix ist total out. Selbst-sprechende Bezeichner, aus deren Namen der Zweck und damit der logische Datentyp hervor geht, sind modern.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

MitgliedXYZ

Alter Hase

  • »MitgliedXYZ« ist der Autor dieses Themas

Beiträge: 1 369

Wohnort: Bayern

  • Private Nachricht senden

24

05.09.2012, 19:13

Diese Art von Humor versteh ich irgendwie nicht. Oder glaubst Du ernsthaft, dass Links zu öffentlichem Material weiterzugeben verboten ist?
Ich dachte es wäre so eine Art Ebook, das man sich jederzeit online ansehen kann, aber halt den Zugang kaufen muss.
Die Bibiliothek meiner Stadt hat so eine Seite, ich dachte das wäre auch so was. Ist doch aber auch egal.
Du kannst aus einem static-Kontext heraus auch nur auf andere static-Member zugreifen. Die Main muss aber static sein, weil diese ohne Instanz eines Objekts aufrufbar sein muss. Ernsthaft, lies ein Buch.
Das habe ich aber noch nicht in dem Buch gefunden. Ich muss also Get/Set verwenden, vermute ich mal.
Und... gewöhn Dir ungarische Notation gar nicht erst an. Datentypen als Präfix ist total out. Selbst-sprechende Bezeichner, aus deren Namen der Zweck und damit der logische Datentyp hervor geht, sind modern.
Und eine Variable mit dem Namen iZahl1, erklärt sich nicht von selbst, oder was? Da wird einem doch gleich klar, das es eine Zahl seien muss und das mit dem i für Integer, oder s für String habe ich mir so angewöhnt, weil es in dem Buch über Visual Basic, was ich vor ein paar Jahren mal gelesen habe, auch so gemacht habe.
iZahl1 sollte eh nur ein Beispiel gewesen sein.

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

25

05.09.2012, 19:47

bezüglich der SChreibweise:
es soll nicht primär aus dem Namen ersichtlich sein, welcher Datentyp verwendet wurde, sondern wofür die Variable da ist
"Zahl", "Zahl1", "iZahl" o. ä. weisen nur darauf hin, dass es eine Zahl ist
ob es nun die Lebenspunkte des Charakters oder die Munition im Magazin ist, weiß man aber absolut nicht

bezüglich static:
lies einfach das Buch, dann dürftest du darauf kommen, was es damit auf sich hat, warum das in deinem Fall nicht funktioniert und wie du es lösen könntest

zum Buch: es ist ein Open Book (das dürfte alles sagen)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

26

05.09.2012, 22:18

Und eine Variable mit dem Namen iZahl1, erklärt sich nicht von selbst, oder was? Da wird einem doch gleich klar, das es eine Zahl seien muss und das mit dem i für Integer, oder s für String habe ich mir so angewöhnt, weil es in dem Buch über Visual Basic, was ich vor ein paar Jahren mal gelesen habe, auch so gemacht habe.
iZahl1 sollte eh nur ein Beispiel gewesen sein.

Aus "iZahl" wird nur eine Sache klar: Es ist ein Integer. Das ist aber genau die falsche Information. Der Datentyp ist nur bedingt wichtig. Wichtig ist der Zweck. Lebenspunkte, Name, Alter, Größe, MaximalGewicht, das sind gute Namen für Variablen, denn der Zweck ist klar und jeder logisch denkende Mensch kann daraus den Datentyp passend geistig einschränken. Daher ist es allgemein anerkannt schlechter Stil im Namen einer Variable den Typ mit reinzuschreiben. Hat man früher gern gemacht, weil IDEs schlecht waren. Herauskristallisiert hat sich aber Zweck, nicht Datentyp. Soll der Typ der Variable mal geändert werden, müsste sie außerdem auch noch umbenannt werden. Am Ende auch noch in allen Parameter-Listen von Interfaces und Klassen... bloß nicht. Lass es weg, es ist oft nur Deodorant für schlechte Bezeichner.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

MitgliedXYZ

Alter Hase

  • »MitgliedXYZ« ist der Autor dieses Themas

Beiträge: 1 369

Wohnort: Bayern

  • Private Nachricht senden

27

06.09.2012, 10:29

Wenn du meinst, ich hatte mir es halt angewöhnt, weil es in meinem ersten Buch (
http://www.amazon.de/Sofort-loslegen-Vis…46920026&sr=8-2 ), was ich über Programmierung vor ein paar Jahen gelesen habe, so gemacht wurde. Werde mich jetzt versuchen umzugewöhnen...

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

28

06.09.2012, 10:32

Das hat ja 'ne schöne Rezension.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

MitgliedXYZ

Alter Hase

  • »MitgliedXYZ« ist der Autor dieses Themas

Beiträge: 1 369

Wohnort: Bayern

  • Private Nachricht senden

29

06.09.2012, 11:00

Das hat ja 'ne schöne Rezension.
Ich finde es jetzt im nachhinein auch nicht wirklich gut, es hat mir ja was unnötiges/unmodernes antrainiert. :S

Ist aber auch ein VB.net Buch und nicht C#...

MitgliedXYZ

Alter Hase

  • »MitgliedXYZ« ist der Autor dieses Themas

Beiträge: 1 369

Wohnort: Bayern

  • Private Nachricht senden

30

06.09.2012, 16:36

Ich weiß, zwei Posts hintereinander werden nicht gern gesehen, ich wollte das jetzt nur trennen, weil der Inhalt nicht zum ersten Post gehört..

Ich hab das Kapitel über Klassen des OpenBooks nun gelesen, es konnte mir aber nicht bei folgendem Problem helfen:
Ich habe jetzt eine Klasse Namens "Spieler". Diese Klasse beinhaltet verschiedene Variablen. Ich möchte nun bei allen Objekten der Klasse Spieler die Eigenschaften neu festlegen. Könnte man das auch efizienter machen als so:
Spieler1.Punkte = 0;
Spieler2.Punkte = 0;
Spieler3.Punkte = 0;
Da es 15 Spieler gibt, ist es irgendwie unschön, wenn ich immer 15 mal das gleiche für alle Objekte schreiben muss.

Oder wäre die einzige Lösung, ein Mehrdimensionales-Array daraus zu machen, dessen erste Spalte die Nummer des Spielers enthält und ich dann einfach eine Schleife durchlaufen lasse?

Danke auf jedenfall schon mal für die Hilfe.

Werbeanzeige