2010-06-08 2 views
1

У меня есть строка в C#Детали файла из строки в C#

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

Теперь Как получить FILEINFO из вышеприведенного жала. То, что я имею в виду, я хочу объявить что-то вроде

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

ли вы попробовать? – Kobi

+10

Должен использоваться компилятор, который распределяет телесные наказания за ошибки сборки. –

+0

Купите книгу на основах C# ;-) – Nauman

ответ

6

В C# строка должна быть

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

Вы также можете escacpe строку, используя символ @, который является лучшей альтернативой:

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

кроме этого код должен работать.

+2

Хорошая точка. '@" \\ mserver-80 \ docs \ somedoc.doc "' также будет работать. Однако '\ d' и' \ s' не будут компилироваться, поэтому легко поймать эту ошибку. – Kobi

+0

Хорошая точка Коби, использующая @, является лучшей альтернативой. Я обновил ответ. –

4

Этот код будет работать нормально, используя FileInfo class.

Просто добавьте

using System.IO; 

Однако, обратите внимание, что \ должны быть экранированы, как \\.
Вместо этого, вы должны использовать @"" string, как это:

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

Вы также можете попробовать

Path.GetExtension(file) 
+1

Это лучшее решение, чем создание объекта FileInfo, если вам нужно расширение. Если вы будете делать больше этого, держитесь с FileInfo, в противном случае используйте это (я также считаю, что статический класс File имеет аналогичную функциональность, но я не могу поклясться в этом ..._ – AllenG

+1

Многие не знают, что существует " Путь ", просто и красота ... –