Еще новичок в С#, пытаясь изо всех сил разобраться, но Ive уже обнаружил ошибки в некотором коде MSDN. Сегодня я попробовал код примера на http://msdn.microsoft.com/en-us/library/c1sez4sc(v=vs.110).aspx, но просто не могу заставить его работать.
Мой вопрос: где именно указать путь к каталогу?
Я попытался вставить string path = "c:\\test";
после
public static void Main(string[] args)
{
но это не сработало.
Может кто-нибудь, пожалуйста, помогите мне?
Связанный образец использует аргументы командной строки для получения своего ввода (это то, что заполняется массивом args
). Это означает, что вы запускаете программу следующим образом:
MySampleApp.exe "C:\Test"
Установка переменной path
ничего не делает, поскольку эта переменная создается и привязана к foreach в самой следующей строке. Во всяком случае, вам нужно будет переназначить переменную args
.
Поскольку вы, скорее всего, новичок в С#, обратите внимание на обзор. "Область" - это область, в которой живет переменная. Всякий раз, когда вы создаете переменную, она доступна для ее области действия и ниже ее. Когда компилятор просматривает переменную, она выбирает самое глубокое совпадение.
Области определяются {}
, поэтому
void Main(string[] args)
{ //New scope here (function scope)
string path = "C:\Test"; //Creates variable at function scope
foreach (string path in args) //Declare a new variable called path, the
//foreach semantic scopes it to the next block
{
... //Any reference to "path" here will reference the foreach
//iteration variable, NOT the function scope variable
}
Надеюсь, это поможет объяснить, почему ваш код не сделал то, что вы считали!
C:\Test
поскольку в нем нет встроенных пробелов. Но это маловероятно во всем, кроме самых искусных примеров, поэтому я думаю, что это лучший пример.