Hallo Leute.
Ich habe mal ne Frage und zwar wollte ich folgendes wissen. Ich überprüfe die Werte einer DataTable mit einer If-Schleife. Ich prüfe eine Spalte in der nur die Werte 3,5,W,E stehen sollen. Meine If-Schleife sieht folgendermaßen aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| foreach (DataRow row in PVSDataTable.Rows) { if (row["21/22"].ToString() != "GC") { MessageBox.Show("Fehler"); } if (row["23"].ToString() != "D") { MessageBox.Show("Kein C307"); }
if ((row["24"].ToString() != "3") | (row["24"].ToString() != "5") | (row["24"].ToString() != "W") | (row["24"].ToString() != "E")) { MessageBox.Show("fehler in Spalte 24"); }
} MessageBox.Show("Okay"); }} |
Nun meine Frage: Die Werte meiner DataTable haben alle die Werte 3,5,W,E , aber ich bekomme trotzdem die MessageBox mit der Fehlermeldung angezeigt. Es ist doch aber so, daß zuerst alle Bedingungen in der if-Schleife geprüft werden, also daß immer ein Wert zutrifft. Wieso bekomme ich dann immer die Fehlermeldung?
Für Hinweise wäre ich sehr dankbar.
MfG
Moderiert von jasocul: Topic aus C# - Die Sprache verschoben am Di 13.11.2007 um 08:23