Probleme bei Klassenerstellung

05/05/2009 - 19:37 von meveric | Report spam
Hallo zusammen,

Ich bin neu bei c#, möchte aber die Sprache für meine Diplomarbeit
verwenden.
Dabei brauche ich eine Datenstruktur.
Mein Gedanke war, eine Klasse zu erstellen, in dem ich ein Float Array und
ein paar andere Variablen.
Und dann möchte ich in einer zweiten Klasse die erste wieder als Array
verwenden.

Also ich benötige sowas:

Datei
- Merkmal[200]
- Wert[4000]
- 1
- 2
- 3
- ...
- Name
- ...
- Pfad
- ...

Dann würde ich ein paar Instanzen vom Typ Datei erstellen und sie dann mit
Daten füllen.

Jetzt wollte ich das ganze mal als einfaches Programm testen und bekomme den
Fehler, NullReferenceException.
Also wenn ich ein Objekt von der Klasse Merkmal erzeuge klappt alles. Wenn
ihc aber ein Objekt von Datei erzeuge kommt der Fehler.
Irgendwie Iniziiert die erste Klasse glaube ich nicht die zweite oder so.
Steh da im Moment aufn Schlauch wie ich das Problem beheben könnte.


Anbei jetzt noch der Code:

class merkmal
{
public float[] wert = new float[4000];
public string name;
public float OSG;
public float USG;


}

class Datei
{
public merkmal[] obdatei = new merkmal[200];
public string pfad = "test";
}




Und so wollte ich es Aufrufen:

Datei test2 = new Datei();
test2.pfad = "Hallo";
test2.obdatei[0].OSG = Convert.ToSingle(456);
test2.obdatei[0].wert[0] = Convert.ToSingle(987);

Und schon in der 3. Zeile kommt die Meldung.
Also sobald ich auf die Grundklasse zugreifen will.
Wo ist der Fehler?

Danke

mfg
Stephan
 

Lesen sie die antworten

#1 Senol Balaban
05/05/2009 - 20:44 | Warnen spam
Hallo stephan,

Mit initialisierung des Arrays ist es nicht getan. Du solltest noch die
einzelnen Elemente initialisieren.
So etwa.

class Datei
{
public merkmal[] obdatei = new merkmal[200];
for(in i =0;i<200;i++)
{
obdatei[i] = new merkmal();
}
public string pfad = "test";
}
mfg senol

"meveric" schrieb im Newsbeitrag
news:
Hallo zusammen,

Ich bin neu bei c#, möchte aber die Sprache für meine Diplomarbeit
verwenden.
Dabei brauche ich eine Datenstruktur.
Mein Gedanke war, eine Klasse zu erstellen, in dem ich ein Float Array und
ein paar andere Variablen.
Und dann möchte ich in einer zweiten Klasse die erste wieder als Array
verwenden.

Also ich benötige sowas:

Datei
- Merkmal[200]
- Wert[4000]
- 1
- 2
- 3
- ...
- Name
- ...
- Pfad
- ...

Dann würde ich ein paar Instanzen vom Typ Datei erstellen und sie dann mit
Daten füllen.

Jetzt wollte ich das ganze mal als einfaches Programm testen und bekomme
den Fehler, NullReferenceException.
Also wenn ich ein Objekt von der Klasse Merkmal erzeuge klappt alles. Wenn
ihc aber ein Objekt von Datei erzeuge kommt der Fehler.
Irgendwie Iniziiert die erste Klasse glaube ich nicht die zweite oder so.
Steh da im Moment aufn Schlauch wie ich das Problem beheben könnte.


Anbei jetzt noch der Code:

class merkmal
{
public float[] wert = new float[4000];
public string name;
public float OSG;
public float USG;


}

class Datei
{
public merkmal[] obdatei = new merkmal[200];
public string pfad = "test";
}




Und so wollte ich es Aufrufen:

Datei test2 = new Datei();
test2.pfad = "Hallo";
test2.obdatei[0].OSG = Convert.ToSingle(456);
test2.obdatei[0].wert[0] = Convert.ToSingle(987);

Und schon in der 3. Zeile kommt die Meldung.
Also sobald ich auf die Grundklasse zugreifen will.
Wo ist der Fehler?

Danke

mfg
Stephan

Ähnliche fragen