Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Objekte können nicht erstellt werden
Fayzon
myCSharp.de - Member



Dabei seit:
Beiträge: 9

Themenstarter:

Objekte können nicht erstellt werden

beantworten | zitieren | melden

Hallo, zurzeit habe ich ein Problem mit dem erstellen von Objekten:

void ObjanClick(object sender, EventArgs e)
		{
			int leistung;
			string marke;
			string farbe;
			
			Kfz fahrz = new Kfz[4];

			fahrz[0].leistung=120;
			fahrz[0].marke="BMW";
			fahrz[0].farbe="gelb";

			fahrz[1].leistung=220;
			fahrz[1].marke="VW";
			fahrz[1].farbe="schwarz";	

			fahrz[2].leistung=300;
			fahrz[2].marke="Toyota";
			fahrz[2].farbe="grau";

			fahrz[3].leistung=1000;
			fahrz[3].marke="VW Kaefer";
			fahrz[3].farbe="weiß";
}

Bei dem Code bekomme ich eine Fehlermeldung:
Fehler
Der Typ- oder Namespacename 'Kfz' konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?) (CS0246)
Kann mir dort jemand helfen?
private Nachricht | Beiträge des Benutzers
Sclot
myCSharp.de - Member



Dabei seit:
Beiträge: 324
Herkunft: Bremen

beantworten | zitieren | melden

In Welchem Buch hast du das denn so gelesen? :)

Kfz ist in deinem Fall ein Objekt zu dem es keine Klasse gibt.
Bedeutet: Die Felder "leistung", "marke" und "farbe" gehören als Eigenschaften in eine extra Klasse, welche "Kfz" heißt.

Siehe hierzu auch: https://msdn.microsoft.com/de-de/library/x9afc042.aspx
private Nachricht | Beiträge des Benutzers
Fayzon
myCSharp.de - Member



Dabei seit:
Beiträge: 9

Themenstarter:

beantworten | zitieren | melden

ist dies so korrekt:

	void ObjanClick(object sender, EventArgs e)
		{
			int leistung;
			string marke;
			string farbe;
			
			Kfz fahrz = new Kfz[4];			
		}
		
	class Kfz
	{		
		fahrz[0].leistung=120;
		fahrz[0].marke="BMW";
		fahrz[0].farbe="gelb";
		
		fahrz[1].leistung=220;
		fahrz[1].marke="VW";
		fahrz[1].farbe="schwarz";
		
		fahrz[2].leistung=300;
		fahrz[2].marke="Toyota";
		fahrz[2].farbe="grau";
		
		fahrz[3].leistung=1000;
		fahrz[3].marke="VW Kaefer";
		fahrz[3].farbe="weiß";
		
		}		
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1.029
Herkunft: Mainz

beantworten | zitieren | melden

Hi,

nope - diese Fragen würden sich jedoch mit einem Buch erübrigen.

Grundlegend: Schau dir bitte ein solches Buch mal genau an - du machst DIR das Leben dadurch einfacher. Denn du scheinst bisher nicht zu verstehen, was du überhaupt tust.

Hier mal ein Beispiel:

namespace Trash
{
	class Program
	{
		static void Main(string[] args)
		{
			Kfz[] fahrzeuge = new Kfz[4]; // Array von Fahrzeugen

			// fahrzeuge[0] ist das erste element des Arrays
			fahrzeuge[0] = new Kfz(); // ansonsten wäre es noch kein kfz - sondern NULL
			fahrzeuge[0].leistung = 120;
			fahrzeuge[0].marke = "BMW";
			fahrzeuge[0].farbe = "gelb";
		}
	}

	public class Kfz
	{
		public int leistung;
		public string marke;
		public string farbe;
	}
}
private Nachricht | Beiträge des Benutzers
pinki
myCSharp.de - Member

Avatar #avatar-4072.jpg


Dabei seit:
Beiträge: 699
Herkunft: OWL

beantworten | zitieren | melden

Zitat von Sclot
Bedeutet: Die Felder "leistung", "marke" und "farbe" gehören als Eigenschaften in eine extra Klasse, welche "Kfz" heißt.
Sclot hat das schon ganz gut erklärt. Ich habe mal ein paar Links ergänzt.
private Nachricht | Beiträge des Benutzers
Fayzon
myCSharp.de - Member



Dabei seit:
Beiträge: 9

Themenstarter:

beantworten | zitieren | melden

ja danke euch allein für die Hilfe
private Nachricht | Beiträge des Benutzers