Ich habe eine if-Anweisung innerhalb einer Schleife, mit Debug.Write()
Ich habe festgestellt, dass für die erste Iteration der Schleife alles wie erwartet funktioniert, aber bei nachfolgenden Iterationen der If-Block ignoriert wird, aber alles sonst wird innerhalb der Schleife noch ausgeführt. Ich habe ein paar Varianten ausprobiert, aber bisher hat keiner von ihnen funktioniert.C# Schleifen nicht Schleife eine If-Anweisung
Ursprünglich hatte ich:
Private int Loop()
{
int a = 50000;
int n = 0;
for (int n = 0; n < arrayListFromElsewhere.Count(); n++)
{
if ((int)arrayListFromElsewhere[n] < a)
{
Debug.WriteLine("if loop: " + n);
a = n;
}
Debug.WriteLine("N: " + n);
}
}
Welche drucken würde:
if loop: 0
N: 0
N: 1
N: 2
etc...
ich, dass die Arraylist immer nur ganze Zahlen enthält bestätigt haben, ersetzt die für eine Weile und versuchte, bewegt die, wenn sie in eine separate Funktion, die innerhalb der for/while aufgerufen wird, aber nichts hat bisher funktioniert. Was für eine offensichtliche Sache habe ich übersehen?
Ihr Beispiel wird nicht wie bereitgestellt kompiliert; Sie definieren die Variable "n" zweimal. –
Wenn Sie in der zweiten Iteration den Block 'if' nicht eingeben, liegt das wahrscheinlich daran, dass die Bedingung '(int) arrayListFromElsewhere [n] ThomasWeiss