Hallo Manuel,
ich bitte um Entschuldigung für das Missverständnis und damit den falschen Rat. Deine Formulierung "ohne Pfad" hatte mich auf die Idee gebracht, dass es sich um Dateinamen handeln würde.
Für Pfadnamen passt in der Tat
Directory.GetDirectories.
Im Code-Ausschnitt hast du die Zwischenvariable arr_anz eingeführt. Die ist sinnvoll, weil sonst in der for-Schleife die Länge in jedem Durchlauf neu bestimmt werden müsste. (Ich nehme freilich an, das würde der Compiler durch Optimierung regeln.) Aber das ginge auch kürzer:
C#-Quelltext
1: 2:
| int arr_anz = Maplist1.Length - 1; for (int i=0;i<=arr_anz;i++) |
Da ich annehme, dass das test-Array nur zum Testen vorgesehen ist, kann dies auch entfallen; dann geht es mit
foreach deutlich einfacher:
C#-Quelltext
1: 2: 3:
| foreach(string temp in Maplist1) { listBox1.Items.Add( shortpfad(temp) ); } |
Hier fehlt der entscheidende Teil deiner eigenen Überlegung, nämlich wie
shortpfad realisiert wird. Dazu kann ich auch auf
String.LastIndexOf hinweisen.
Übrigens gehören Namen wie listBox1 oder Maplist1 verboten. Da weißt auch du nach spätestens 14 Tagen nicht mehr, wozu diese Variablen genutzt werden. Auch denglischen Mischmasch wie "shortpfad" finde ich schrecklich; besser ist es, nur englische Bezeichner zu verwenden (sonst produziert die IDE denglische Namen).
Gruß Jürgen