Почему я не могу написать IO.Directory.GetFiles?

Я родом из VB.Net среда, в которой используется Imports System а потом IO.Directory.GetFiles(...) работает.

С другой стороны, кажется, что using System; не достаточно, чтобы написать использование IO.Directory без префикса с System., Единственный обходной путь, кажется, using IO = System.IO;

Зачем?


Пример кода:

using System;
using System.IO;

namespace Test {
    class Program {
        static void Main(string[] args) {
            System.Console.WriteLine(IO.Directory.GetFiles(System.Environment.CurrentDirectory)[0]);
        }
    }
}

Редактировать: мой вопрос не в том, что я должен сделать, чтобы мой код работал, а в частности, "почему я не могу написать IO.Directory.GetFiles??"

2 ответа

Решение

Добавлять

используя System.IO;

и у вас будет поведение, которое вы ожидаете. C# не делает дочерние пространства имен доступными без директивы using (или полной квалификации).

То, о чем вы говорите, невозможно в C#, поскольку это может быть разницей между C# и vb.NET.

Если вы конвертируете код vb.Net в C#, то использование этого сайта поможет вам

vb.net на C#

Код для вас

System.IO.Directory.GetFiles(...)

или добавить

using System.IO;

сделаю для тебя

Другие вопросы по тегам