Laden...

C# File.Exists

Erstellt von Narya88 vor einem Jahr Letzter Beitrag vor einem Jahr 289 Views
Narya88 Themenstarter:in
13 Beiträge seit 2021
vor einem Jahr
C# File.Exists

if (File.Exists(nameBackup) == true || File.Exists(nameBackup) == false)
            {
               (...)
            }

Hallo, kann mir jemand mit dieser Formulierung helfen? Warum true oder false.
Es soll geprüft werden, ob die Datei existiert.

Danke

Ein Zauberer kommt nie zu spät, ebenso wenig zu früh. Er trifft genau dann ein, wenn er es beabsichtigt.
P
441 Beiträge seit 2014
vor einem Jahr

Hi,

deine Frage ist recht allgemein formuliert und lässt deswegen viel Spielraum beim beantworten.

Das if statement erwartet in den Klammern einen Ausdruck, welcher einen boolschen Wert (also wahr oder falsch) ergibt. File.Exists gibt bereits einen boolschen Wert zurück, deswegen ist bei dem Ausdruck File.Exists() == true das == true überflüssig, File.Exists ist bereits true. Für false gilt dasselbe, nur eben mit einer negierung.

Wenn du nur prüfen möchtest, ob eine Datei existiert, dann würde also reichen:


if (File.Exists(nameBackup))
{
  // datei existiert
}
else
{
  // datei existiert nicht
}

Narya88 Themenstarter:in
13 Beiträge seit 2021
vor einem Jahr

Danke, das reicht mir schon.

Ich habe diesen Code kopiert und verstehe lediglich diese 2fache Abfrage nicht und wollte nur wissen, ob ich etwas übersehen habe.

Ein Zauberer kommt nie zu spät, ebenso wenig zu früh. Er trifft genau dann ein, wenn er es beabsichtigt.
2.079 Beiträge seit 2012
vor einem Jahr

Forme das doch mal Schritt für Schritt um:


if (File.Exists(nameBackup) == true || File.Exists(nameBackup) == false) { /* code */ }


if (File.Exists(nameBackup) || !File.Exists(nameBackup)) { /* code */ }


bool exists = File.Exists(nameBackup);

if (exists || !exists) { /* code */ }


{ /* code */ }

Verstehst Du? 😉

Also Du verstehst richtig - es ist sinnlos.
Vermutlich sah der Code mal anders aus und wurde über Monate und Jahre so oft geändert und die Entwickler haben so oft nicht weiter gedacht, bis das dabei heraus gekommen ist.
Und jetzt, da Du weiter denkst, kannst Du herausfinden, was da mal stand (vielleicht ist es auch ein Bug?) und ggf. aufräumen.

Narya88 Themenstarter:in
13 Beiträge seit 2021
vor einem Jahr

Ich vermute, da es sich um eine teilweise Lösung zu einer Studienaufgabe handelt, dass dieser Fehler bewusst als "Kopierschutz" eingebaut wurde.

DANKE! 🙂

Ein Zauberer kommt nie zu spät, ebenso wenig zu früh. Er trifft genau dann ein, wenn er es beabsichtigt.