Laden...

Klasse an Liste anhängen

Letzter Beitrag vor 18 Jahren 13 Posts 1.980 Views
Klasse an Liste anhängen

Hallo und frohes neues Jahr..

Ich habe ein Klasse:


    public class Bullet
    {
        private int _Speed = 0;


        public void setSpeed(int Speed)
        {
            _Speed = Speed;
        }

        public int getSpeed()
        {
            return _Speed;

        }
    }

Nun möchte ich im Hauptprogramm, dass, wenn z.b. ein Button gedrückt wird, ein solches Objekt erzeugt und auch Eigenschaften gesetzt werden.
Dann soll die Instanz an eine Liste angehangen werden..

Wie mache ich das?? Stehe gerade ein bisschen auf dem Schlauch..

Oder muss ich dazu ein Array nehmen, damit ich die Bullets durchnumerieren kann

Bullet[0].setSpeed=100;
Bullet[1].setSpeed=100;

Mit einem Array weiß ich wie das geht. möchte es aber in eine Liste packen...

Danke für die Hilfe

(Möchte mich nicht vorher festelgen, wieviele Instanzen ich zulasse... wie bei einem Array)

Hallo XXL,

besser eine List<Bullet> und in diese mit Add hinzufügen.

herbivore

Hallo

Eine Liste hab ich schon mal erzeugt

public List<Bullet> BULL = new List<Bullet>();

aber ich weiß nicht, wie ich da einzelne instanzen von meiner bulletklasse reinbekomme...

BULL.Add (???)

will ja für jede einzelne Instanz die Eigenschaften ändern und die Instanzen durchummerieren..

Komme da gerade echt nicht weiter...

Hallo XXL,

BULL.Add (new Bullet ())

herbivore

wäre das nicht


public List<Bullet> BULL = new List<Bullet>();

public Bullet b = new Bullet();
b.setSpeed = 100;

BULL.Add(b);

...oder so ähnlich?
s. hier: http://msdn2.microsoft.com/de-de/library/d9hw1as6(VS.80).aspx

EDIT: mist, zu langsam. Aber dafür mit Link 😜

MfG hulkstar

ok, eine hoffentlich letzte frage..

habs so gemacht:

        Bull.Add(new Bullet());  

        Debug.Print(  Bull.Capacity.ToString());  

wieso zeigt er mir
4
4
4
4
8
8
8
8
an?

und wie komme ich am einfachsten an die geindexten Elemente dran (um die Eigenschaten zu setzen)??

Vielen Dank

Hallo XXL,

List.Capacity
Die Anzahl der Elemente, die List enthalten kann, bevor eine Größenanpassung erforderlich ist.

Was du willst ist List.Count.

und wie komme ich am einfachsten an die geindexten Elemente dran (um die Eigenschaten zu setzen)??

Bull[n].setSpeed=100;

Wobei die Eigenschaft Speed und nicht setSpeed heißen sollte.

herbivore

jo,hatte auch schon Count genommen.. Ich Depp 😉

Danke für die Hilfe...

schönen Tag noch.. Bis zum nächsten mal

😉

versuch es mal mit count anstatt mit capacity,

denn capacity

Die Anzahl der Elemente, die List enthalten kann, bevor eine
Größenanpassung erforderlich ist.

bull[index]

edit: zu langsam

zu früh gefreut.. 🙂

da bin ich nochmal

wenn ich aufrufe

Bull[0].setSpeed = 100;

bekomme ich die meldung

"setSpeed" ist "Methodengruppe", daher ist die Zuordnung nicht möglich.

was mache ich da denn noch falsch?

vielleicht setSpeed(100)

Hallo XXL,

dann ist setSpeed eine Methode. Definiere stattdessen besser eine Property Speed.

Bitte schau wegen so grundlegenden Sachen, wie Methode/Property und Arrays (bzw. ähnliche Collections) mal bei http://www.galileocomputing.de/openbook/visual_csharp/ vorbei. Solche Grundlagen solltest du dir bitte selbst aneignen.

herbivore

sorry, ist klar.

hab einfach den code reingepastet..

schon klar..

danke nochmals..

🙂

noch zu früh am morgen.. 🙂