Wie gebe ich meinen foreach-Resultaten string-Werte(C#)?

...komplette Frage anzeigen

2 Antworten

Hi! Zunächst ein kleiner gutgemeinter Rat: Überarbeite deine Frage noch mal damit der Code nicht so zerstückelt wird. So ist er extrem schlecht lesbar.

Nun ans Eingemachte. Du möchtest für jeden Schleifendurchlauf ein Ergebnis als String haben. Das ließe sich bis zu einem gewissen Grad über ein Array realizieren. Aber ein Array hat eine feste Größe, die du am Anfang setzen musst. Deshalb eignet sich ein Array hier nur, wenn du genau weißt, wie viele Strings du am Ende herausbekommst.

Mein Vorschlag wäre die Liste:

private List<string> myResultStrings;

public MyConstructor()
{
myResultStrings = new List<string>();
}

So kannst du später die jeweiligen Ergebnisse deiner individuellen Schleifendurchläufe mit

myResultStrings.Add(myResult);

der Liste hinzufügen.

Ok ich werde mir das anschauen. Herzlichen Dank für die konkrete Antwort. Beste Grüsse

0

bei einer foreach Schleife kann man aber eigentlich immer die Durchläufe davor zählen

0
@NMirR

Dann müsste man (in diesem Fall unnötigerweise) eine zweite Schleife einbauen. Nicht sehr effizient.

0
@greenvbuser

Nein muss man nicht. Ich habe extra "davor" geschrieben, nicht darin.

0

Über das Count-Property der MatchCollection lässt sich ermitteln, wie viele Ergebnisse es gibt. Darauf basierend kann ein Array angelegt und mittels Iterationsschleife durchlaufen werden.

1

Warum keinen Array?

Wie meinst du das genau? An welcher Stelle würdest du mit einem Array arbeiten? Wäre toll wenn du mir ein Bsp machen könntest. Herzlichen Dank

0
@Mihajlangelo

Ergänzung:

Das Ding ist ja, dass ich die Werte die ich brauche im foreach-loop aus der Xml ermittle. Diese Werte können in der Console ausgegeben werden, aber das zuweisen der Werte an einen string gelingt mir nicht. 

0

Was möchtest Du wissen?