Isolere filnavn i sti

Tags:    .net

Jeg har forsøgt at isolere filnavnet i en sti i C#. Jeg skal altså bruge den bagerste del af en string, nemlig fra sidste backslash. Min kode ser foreløbig således ud:
Fold kodeboks ind/udKode 

Det giver mig imidlertid denne fejl:
ArgumentOutOfRangeExeption was unhandled.

Jeg har forsøgt at trække en fra længden for det tilfælde at Substring tæller fra 0. Det hjalp ikke. Nogen idéer (jeg gætter på at det i virkeligheden er ret ligetil)?

Jeg er helt grøn ud i C#, men har programmeret PHP i en del år, så jeg har rimelig godt styr på generelle programmeringskoncepter. Findes der i øvrigt en reference over properties og methods á la php.net, bare for (Visual) C#?



3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hvorfor ikke bruge C#'s indbyggede funktion til det?

System.IO.FileInfo fileInfo = new System.IO.FileInfo(stitilfil);
fileInfo.Name; //navnet på filen
fileInfo.Extension; //extension
fileInfo.FullName; //den fulde sti
fileInfo.Directory; //det bibliotek den ligger i

...

Som tidligere nævnt, brug MSDN, men brug det rigtigt:-) for eksempel kunne du have endt med noget skummelt string gymnastik (som ovenstående) i stedet for at finde det korrekte.



Indlæg senest redigeret d. 21.08.2007 10:28 af Bruger #2730
Hmm ved ikke om det er en dårlig løsning men den virker.

Fold kodeboks ind/udKode 


Noget i den dur vil splitte stien op i mindre dele, og i den sidste celle på i dit array vil du have filnavnet :)

Brug MSDN, Din bedste ven :) (også rimer det endda)

http://msdn2.microsoft.com/en-us/default.aspx



Hvorfor ikke bruge C#'s indbyggede funktion til det?

System.IO.FileInfo fileInfo = new System.IO.FileInfo(stitilfil);
fileInfo.Name; //navnet på filen
fileInfo.Extension; //extension
fileInfo.FullName; //den fulde sti
fileInfo.Directory; //det bibliotek den ligger i

...

Som tidligere nævnt, brug MSDN, men brug det rigtigt:-) for eksempel kunne du have endt med noget skummelt string gymnastik (som ovenstående) i stedet for at finde det korrekte.


Ahh... snedigt :-)



t