Entwickler-Ecke

C# - Die Sprache - Klasse, Variable deklarieren


Kryox - Di 12.03.13 15:25
Titel: Klasse, Variable deklarieren
Hallo!

folgende Klasse:


C#-Quelltext
1:
2:
3:
4:
5:
class Order
{
    public string ID { get; set; }
    public string Status { get; set; }
}


Datensätze werden so eingetragen:


C#-Quelltext
1:
2:
3:
4:
5:
6:
foreach (ListViewItem item in listView1.Items)
    {
     var orders = new Order[]{
         new Order{ID = item.Text.ToString(), Status = item.SubItems[4].Text.ToString()}
  };
}



Fehler:

Quelltext
1:
Der Name "orders" ist im aktuellen Kontext nicht vorhanden. (CS0103)                    


Wie kann ich nun meine nicht deklarierte variable "orders" außerhalb der foreach nutzen?
Ich kann ihr ja keinen typ zuweisen und diesen zuvor zu publizieren (public).

Beispielsweise eine einfache message ausgabe von *.ID oder *.Status..

Wie geht das? Danke!


Ralf Jansen - Di 12.03.13 15:41

Zitat:
Wie kann ich nun meine nicht deklarierte variable "orders" außerhalb der foreach nutzen?


Indem du die nicht in dem foreach deklarierst sondern außerhalb.
Was soll das eigentlich? Ist dir bewußt das du im Moment bei jedem einzelnen Schleifendurchlauf ein neues Order Array mit einem Element erzeugst und das vorhergehende wieder verwirfst?


Kryox - Mi 13.03.13 08:05

user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Zitat:
Wie kann ich nun meine nicht deklarierte variable "orders" außerhalb der foreach nutzen?


Indem du die nicht in dem foreach deklarierst sondern außerhalb.
Was soll das eigentlich? Ist dir bewußt das du im Moment bei jedem einzelnen Schleifendurchlauf ein neues Order Array mit einem Element erzeugst und das vorhergehende wieder verwirfst?


Kannst du mir bitte anhand eines Beispiels beibringen wie?


Palladin007 - Mi 13.03.13 08:55

Wahrscheinlich solltest du dir mal ein gutes Buch [http://openbook.galileocomputing.de/visual_csharp_2012/] durchlesen.

Ich glaube aber auch, dass du einfach keine Lust hast, dich selber damit zu beschäftigen und das Array einfach außerhalb der Schleife zu deklarieren, denn ganz ehrlich: Einfacher geht nicht

Aber ein Beispiel kriegst du trotzdem:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var orders = new Order[] { */ ... */ };

foreach (var item in liste)
{
    // Tu was mit orders
}

// Tu auch hier was mit orders


Kryox - Mi 13.03.13 10:11

user profile iconPalladin007 hat folgendes geschrieben Zum zitierten Posting springen:
Wahrscheinlich solltest du dir mal ein gutes Buch [http://openbook.galileocomputing.de/visual_csharp_2012/] durchlesen.

Ich glaube aber auch, dass du einfach keine Lust hast, dich selber damit zu beschäftigen und das Array einfach außerhalb der Schleife zu deklarieren, denn ganz ehrlich: Einfacher geht nicht

Aber ein Beispiel kriegst du trotzdem:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var orders = new Order[] { */ ... */ };

foreach (var item in liste)
{
    // Tu was mit orders
}

// Tu auch hier was mit orders


Du hast leider mein Vorhaben nicht verstanden. Ich will die nicht deklarierte orders inerhalb der foreach füllen.

Habs jetzt mit nem array und linq gelöst, kann geclosed werden.


Christian S. - Mi 13.03.13 10:21

Könntest Du die Lösung evtl. noch posten. Dann versteht man vielleicht auch die Frage im nach hinein :D