2010-06-08 5 views
1

j'ai une chaîne en C#Détails du fichier à partir d'une chaîne en C#

String file="\\mserver-80\docs\somedoc.doc" 

maintenant Comment puis-je obtenir Fileinfo de la piqûre ci-dessus. Ce que je veux dire est, Je veux déclarer quelque chose comme

FileInfo fInfo = new FileInfo(file); 
fileExtn = fInfo.Extension; 
+5

Avez-vous l'essayer? – Kobi

+10

Doit utiliser un compilateur qui distribue des punitions corporelles sur les erreurs de construction. –

+0

Acheter un livre sur les fondamentaux C# ;-) – Nauman

Répondre

6

En C# la chaîne doit être

String file="\\\\mserver-80\\docs\\somedoc.doc"; 

Vous pouvez également escacpe la chaîne en utilisant le caractère @, ce qui est une meilleure alternative:

String [email protected]"\\mserver-80\docs\somedoc.doc"; 

autre que le code devrait fonctionner.

+2

Bon point. '@" \\ mserver-80 \ docs \ somedoc.doc "' fonctionnera aussi. Cependant, '\ d' et' \ s' ne compileront pas, il est donc facile d'attraper cette erreur. – Kobi

+0

Bon point Kobi, en utilisant @ est une meilleure alternative. J'ai mis à jour la réponse. –

4

Ce code fonctionne très bien, en utilisant la FileInfo class.

ajouter simplement

using System.IO; 

Cependant, notez que le \ doit être réussi à sortir \\.
Au lieu de cela, vous devez utiliser un @"" string, comme ceci:

String file = @"\\mserver-80\docs\somedoc.doc" 
14

Vous pouvez également essayer

Path.GetExtension(file) 
+1

C'est une meilleure solution que d'installer un objet FileInfo si tout ce dont vous avez besoin est l'extension. Si vous faites plus que cela, gardez avec le FileInfo, sinon utilisez ceci (je crois aussi que la classe statique de dossier a la fonctionnalité semblable, mais je ne pourrais pas jurer à cela ... _ – AllenG

+1

Beaucoup ne savent pas qu'il existe un " Path "classe, la simplicité et la beauté ... –

Questions connexes