2014-01-08 7 views
0

Например, если я хотел бы получить количество файлов в каталоге проекта. В Java я хотел бы написать:Как получить путь к каталогу проектов

int numberOfFiles = new File(".").listFiles().length; 

Но я не знаю, как получить путь к директории проекта в .NET. Как достичь той же цели в C#?

+0

Возможный дубликат: http://stackoverflow.com/questions/1658518/getting-the-absolute-path-of-the-executable- using-c – Pedrom

ответ

2

Это просто

var path = Path.GetDirectoryName(Application.ExecutablePath); 
var files = Directory.GetFiles(path); 
1

Это близко - использование:

int numberOfFiles = Directory.GetFiles(".").Length 
+0

Есть ли разница (в результате, эффективность) по сравнению с решением Джона Кернера? – Yoda

+1

_result_ должен быть таким же. Вам нужно попробовать обеими способами увидеть, отличается ли значение _performance_. –

+0

Какой бы вы предпочли? Я хотел бы знать, какое решение для решения -> решение пуриста. – Yoda

1

Вы можете получить путь к исполняемому файлу, используя Application.ExecutablePath, а затем получить каталог оттуда. Если у вас есть каталог, то легко получить количество файлов:

var executingDir = System.IO.Path.GetDirectoryName(Application.ExecutablePath); 
var numFiles = System.IO.Directory.GetFiles(executingDir).Count(); 
Console.WriteLine(numFiles); 
Смежные вопросы