Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么可以';我不能写IO.Directory.GetFiles吗?_C#_Using Directives - Fatal编程技术网

C# 为什么可以';我不能写IO.Directory.GetFiles吗?

C# 为什么可以';我不能写IO.Directory.GetFiles吗?,c#,using-directives,C#,Using Directives,我来自一个VB.Net环境,在那里使用导入系统,然后使用IO.Directory.GetFiles(…)工作 另一方面,似乎使用系统不足以写入useIO.Directory而不使用System作为前缀。。唯一的解决办法似乎是 使用IO=System.IO 为什么? 示例代码: using System; using System.IO; namespace Test { class Program { static void Main(string[] args) {

我来自一个
VB.Net
环境,在那里使用
导入系统
,然后使用
IO.Directory.GetFiles(…)
工作

另一方面,似乎
使用系统不足以写入use
IO.Directory
而不使用
System作为前缀。
。唯一的解决办法似乎是

使用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
?”

添加

使用System.IO


你会有你期望的行为。C#在没有using指令(或完全限定)的情况下不会提供子名称空间。

您所谈论的东西在C#中是不可能实现的,这可能是C#和vb.NET之间的差异

如果您正在将vb.Net代码转换为C#,那么使用此网站将对您大有帮助

福隆代码

System.IO.Directory.GetFiles(...)
或添加

using System.IO;

会为您做的

+1很好,只是感兴趣也许您有任何关于此类要求的MSDN参考资料,这将是非常好的。
当我编写
IO.Directory.GetFiles时,
@Matt:好的,但问题是为什么
使用系统;不使用System作为前缀写入use IO.Directory是不够的。
,因此存在
using
,但不允许访问子名称空间的具体类型,而不额外使用子名称空间,如
IO.Directory.GetFiles()
不使用
usign System.IO
@nawfal:我的问题不是如何使用
目录。*
,而是如何编写
IO.Directory.*
在这种情况下,唯一的解决方法就是你自己在问题中发布的内容。这就是C#的做事方式。至于“为什么”是这样,我很无助,我从来没有被它困扰过。请记住,当您键入确切的类名时,您总是会在类名的右下方看到未添加名称空间的一个小指示。您可以将鼠标悬停在红色指示上进行扩展,然后执行所需操作。我想去掉
System
前缀。@Clément,使用System.IO添加
到顶部的命名空间集合!