Klasse / Array

Top300

Grünschnabel
Hallo ich steh hier seid Tagen auf dem Schlauch und finde keine Lösung zu der Sache

Folgendes Problem:

Code:
    class Dorfen
    {
        string Corf;
        string CKoords;
        string Cid;
        Bausch[] ids = new Bausch[41];    <------  jedes objekt Dorfen hat 41 arrays          
                                                                     wo indexer,bauvorhaben und baustufe 
                                                                     geseichert sind 
        



        public Dorfen()
        { }

        public Dorfen(string _orf, string _koords, string _id)  <--- 1. problem 
        {
            Corf = _orf;
            CKoords = _koords;
            Cid = _id;
            
        }

        public string Dorf
        {
          get ....
          set....
        }

        public string Koords
        {
           dito
        }

        public string did
        {
            dito
        }
**********************************************************************************************

2. Class

class Bausch
    {
        string CFeld_Id;
        string CBauVorhaben;
        string CBauStufe;

        public Bausch(string _Feld_Id, string _BauVorhaben, string _BauStufe)
        {
            CFeld_Id = _Feld_Id;
            CBauVorhaben = _BauVorhaben;
            CBauStufe = _BauStufe;
            
        }

        public string Feld_Id
        {
            get {return CFeld_Id; }
            set { CFeld_Id = value; }
        }

        public string BauVorhaben
        {
            get { return CBauVorhaben; }
            set { CBauVorhaben = value; }
        }

        public string Baustufe
        {
            get { return CBauStufe; }
            set {CBauStufe = value; }
        }
wie kann ich aus der Main auf das kpl. Array des Objekts Dorfen zugreifen

Dorfen[] dorf = new Dorfen[50];
nehme ich nun dorf[1]. bringt er mir nur Dorf,Koords,did zur auswahl aber auf das Array komm ich net :(

bräuchte nen Tipp/Hilfe wie man den Kontruktor so gestaltet das die Arrays auch anzusprechen wären und wie man dann auch aus der main auf das Array zugriff bekommt
ich hoffe das ich mein Problem ausreichend geschildert habe .

danke im vorraus
 
dorf ist das Array, ohne den Indexer hast du doch das gesamte Array an der Hand.... was willst du denn machen?

Und wenn du an Bausch willst... noch ne weitere Property anlegen


Ansonsten *grübel* *kopfkratz* :confused:
 
Genau. Einfach so:

Code:
        string Corf;
        string CKoords;
        string Cid;
        Bausch[] ids;

        public Dorfen(string _orf, string _koords, string _id)
        {
            Corf = _orf;
            CKoords = _koords;
            Cid = _id;
            ids = new Bausch[41];
        }

        public Bausch[] Ids
        {
            get
            {
                return ids;
            }
            set
            {
                ids = value;
            }
        }

Du könntest alternativ natürlich die Variablen public machen, oder vereinfachte Properties erstellen:

Code:
public Bausch[] Ids { get; set; }

Kommt immer darauf an, was du vorhast.
 
(!) Achtung: Die vereinfachten Properties funktionieren aber erst ab c# 3.0 (also VS 2008)

Nun ja und von den öffentlichen Variablen halte ich nichts!
 
erstmal danke für die Tipps und Ratschläge man(n) lernt ja nie aus *fg

Genau. Einfach so:

Code:
        string Corf;
        string CKoords;
        string Cid;
        Bausch[] ids;

        public Dorfen(string _orf, string _koords, string _id)
        {
            Corf = _orf;
            CKoords = _koords;
            Cid = _id;
            ids = new Bausch[41];
        }

        public Bausch[] Ids
        {
            get
            {
                return ids;
            }
            set
            {
                ids = value;
            }
        }
Du könntest alternativ natürlich die Variablen public machen, oder vereinfachte Properties erstellen:

Code:
public Bausch[] Ids { get; set; }
Kommt immer darauf an, was du vorhast.

zum einen :

public Dorfen(string _orf, string _koords, string _id) <--- wie sieht dann das ganze beim Konstruktor aus ? wenn ich die 3 werte der Bausch class mit übergeben will


zum zweiten:

ids= new Bausch[41]; im Konstruktor von Dorfen
dies bedeutet ja das ich den Konstruktor inkl.der Param. aufrufen muss um das array zu erzeugen ?



dorf[1].Ids[1].Baustufe = XXX würde jetzt auch klappen in der main

Danke für die Ratschläge die ja schon zum Teilerfolg geführt haben ;)
 
Alternativ gehts auch so:

Code:
dorf[1].Ids = new Bausch[41];

Musst dir halt überlegen was du machen willst und welcher Weg zum Ziel sinnvoll ist.
 
Zurück