Ordner und Unterordner durchsuchen: try und catch
-
hustbaer schrieb:
Eine Möglichkeit wäre natürlich die Rekursion selbst zu implementieren.
Also ohne SearchOption.AllDirectories suchen und die Unterverzeichnisse selbst behandeln.Danke für den Vorschlag... Kannst du ein Beispiel posten? Ich steig bei so längeren Sachen irgendwann nichtmehr durch... Vlt. hättest du ja dann ein par Erklärungen für mich, dass ich das hinkriege. Ich war erstmal total happy, als ich das gesehen hab im Internet, dass mit 2 zeilen oder so hinzukriegen...
naja... Danke trotzdem..
-
Das würde dann z.B. so aussehen:
static void ListTheFuckingFiles(string directoryPath, string pattern) { Debug.WriteLine(string.Format("ListTheFuckingFiles(string {0})", directoryPath)); try { ListTheFuckingFiles(new DirectoryInfo(directoryPath), pattern); } catch (System.Exception ex) { Console.WriteLine("ERROR: {0}", ex.ToString()); } } static void ListTheFuckingFiles(DirectoryInfo di, string pattern) { Debug.WriteLine(string.Format("ListTheFuckingFiles(DirectoryInfo {0})", di.FullName)); try { // List files in this directory foreach (FileInfo fi in di.GetFiles(pattern)) Console.WriteLine(fi.FullName); // Search sub-directories foreach (DirectoryInfo sdi in di.GetDirectories()) ListTheFuckingFiles(sdi, pattern); // Function calls itself here, aka. recursion } catch (UnauthorizedAccessException ex) { Debug.WriteLine(string.Format("Cannot access '{0}' - skipping...", di.FullName)); } catch (Exception ex) { Console.WriteLine("ERROR: {0}", ex.ToString()); } } }
-
Ah.. Danke... Cooler Methoden-Name
Allerdings müssen die beiden Methoden nicht gleich heißen, oder?
Und was ist das für ne Sache mit {0}?
Kann ich das so einfach für WinForms übernehmen? Den Rest krieg ich hin, das WriteLine und so, aber vlt. erklärste mir nochmal die Zahlen in den geschweiften Klammern...Thx,
Darius. :xmas1:
-
#Darius# schrieb:
Allerdings müssen die beiden Methoden nicht gleich heißen, oder?
Nein.
#Darius# schrieb:
Und was ist das für ne Sache mit {0}?
http://msdn.microsoft.com/en-us/library/txafckwd.aspx
#Darius# schrieb:
Kann ich das so einfach für WinForms übernehmen?
Unwahrscheinlich.
-
Swordfish schrieb:
#Darius# schrieb:
Kann ich das so einfach für WinForms übernehmen?
Unwahrscheinlich.
Wieso? Wenn er "das WriteLine und so hinkriegt", was spricht dagegen das in einer Forms Anwendung zu verwenden?
-
#Darius# schrieb:
Allerdings müssen die beiden Methoden nicht gleich heißen, oder?
Nein, müssen nicht. Aber wenn sie das gleiche tun, sollten sie mMn. auch gleich heissen.
-
hustbaer schrieb:
Swordfish schrieb:
#Darius# schrieb:
Kann ich das so einfach für WinForms übernehmen?
Unwahrscheinlich.
Wieso? Wenn [...]
Wenn, dann schon
-
Okey... Danke nochmal... Ich progge ja auch geglegentlich für Konsole, aber nichts großartiges. Eine Frage noch... Was ist Debug.Write...?
Danke und ein Frohes Fest, (ich muss jetzt erstmal als Kamel ran beim Krippenspiel in unsrer Kirche) :xmas2: << ich weiß, das ist kein kamel, aber auch egal.
LG Darius... :xmas1:Edit:
======================
string myName = "Fred"; String.Format("Name = {0}, hours = {1:hh}", myName, DateTime.Now);
`
Der feste Text ist "Name = " und ", hours = ". Die Formatelemente sind "{0}" mit dem Index 0 (null), was dem Objekt myName entspricht, und "{1:hh}" mit dem Index 1, was dem Objekt DateTime.Now entspricht.`
^^ msdn spuckt das aus... Das versteh' ich, aber was machen die beiden "h" da? Zusätzlich zu Index? Versteh ich nicht... Wieder Danke,
Darius
-
@#Darius# : Wir sind nicht dafuer da, dir das Programmieren beizubringen. Bei konkreten Fehlern oder Fragen kannst du gerne einen Thread aufmachen, aber in meinen Augen fehlt dir Grundlagenwissen. Ich glaube es ist guenstiger wenn du doch nicht nur "gelegentlich" fuer die Konsole programmierst. Lern doch erstmal alle wichtigen Grundlagen eh du dich mit der GUI-Programmierung befasst.
-
#Darius# schrieb:
Was ist Debug.Write...?
#Darius# schrieb:
msdn spuckt das aus... Das versteh' ich, aber was machen die beiden "h" da? Zusätzlich zu Index? Versteh ich nicht... Wieder Danke,
Die MSDN weiss alles...
String.Format -> Composite Formatting -> Custom Date and Time Format StringsGrüssli
-
Okey.
Ah, Danke.
Stimmt, MSDN ist unser aller Freund. Aber n bisl unübersichtlich.
Aber zum Glück hab ich ja euch...
Naja, nächstes Mal such ich dann einfach mal auf eigene Faust bei MSDN..Dankeschön und noch schöne Feiertage...
-
#Darius# schrieb:
Aber n bisl unübersichtlich.
Überhaupt nicht. Es ist immer gleich strukturiert und du hast massenhaft Links auf alles. Die Suche ist zudem sehr gut.
Du fragst dich, was diese Formatierung bei String.Format soll. Also gehst du die MSDN Seite dort lesen. Wenn du sie sauber und vollständig durchliest, dann ergibt sich der Rest automatisch.Das grösste Problem ist immer, dass die Leute die Dokumentation nur schnell schnell überfliegen, statt sie korrekt und sauber zu lesen. Sich die Zeit nehmen die Dokumentation zu verstehen.
Wenn du das machst, statt hier eine Frage zu stellen, ergeben sich für dich zwei Vorteile:
1. Du verstehst besser, was du machst.
2. Du bist deutlich schneller am Ziel.Grüssli