Java 在C中导入多个内容#

Java 在C中导入多个内容#,java,c#,import,package,Java,C#,Import,Package,在java中,您可以使用“import javax.swing.*”在java中导入多个库。你能在C#中做同样的事情吗?C#只允许你一次“导入”一个名称空间。没有选项可以将与通配符或类似字符一起使用 注意,默认情况下,C#的using指令已经导入了整个名称空间中的所有内容。这意味着使用System.Collections.Generic与导入java.util.*非常相似 可以通过别名处理单个类型:使用StringList=System.Collections.Generic.List 这在语言

在java中,您可以使用
“import javax.swing.*”
在java中导入多个库。你能在C#中做同样的事情吗?

C#只允许你一次“导入”一个名称空间。没有选项可以将
与通配符或类似字符一起使用

注意,默认情况下,C#的using指令已经导入了整个名称空间中的所有内容。这意味着
使用System.Collections.Generic
与导入java.util.*非常相似

可以通过别名处理单个类型:
使用StringList=System.Collections.Generic.List

这在语言层面上确实是一个差异。考虑到C#汇编和命名空间约定,这在实践中通常不是问题。请注意,C#使用程序集引用来实际“导入”库,而
using
指令只是一个工具,用于简化如何在源代码中使用库类型。

这是C#的工作方式,但语法不同:

using javax.swing;
这使您可以直接访问javax.swing中的所有类型(并不是说您能够做到这一点,而是您了解了这一点)

一些文件:

在Java方面: “若要导入特定包中包含的所有类型,请使用带有星号(*)通配符的import语句……现在您可以通过图形包中的任何类或接口的简单名称来引用它:”

在C侧: “若要允许在命名空间中使用类型,以便您不必限定在该命名空间中使用类型…请创建一个using指令来使用命名空间中的类型,而无需指定命名空间:”

这也是Java“import foo.bar.*”语法的工作原理-您可以访问包foo.bar中的所有类型。所以C#等价物只是“使用javax.swing”(假设“javax.swing”可以从C#获得,但事实并非如此)。@DaveDoknjas是的,没错-仍然不能“一次导入多个东西”,但我做了编辑以澄清我认为op意味着导入多个类型-你不这么认为吗?特别是考虑到“imports foo.bar.*”只导入foo.bar包中的所有类型,而不导入其他包。@DaveDoknjas我不知道-他提到了“多个库”,这在C中是通过项目系统完成的;)我怀疑OP不理解C#项目系统与程序集引用和使用
的C#项目系统一般是如何工作的,因为它不同于Java。但是您知道Java中的“import foo.bar.*”只根据需要导入类型吗?这正是C语言中使用“Fo.bar”的意思。我相信OP是比<<代码>使用< /COD> >更多的关于<代码> */C> > -“*”是在java中使用的,但不是在C语言中使用的。考虑到如果我<代码>导入系统< /C>我仍然不能访问<代码> St.LINQ < /Calp> @ PaqGoMez:您可以访问系统中的类型,这与Java中的“imports foo.*”相同。否决票是不合理的——“使用foo.bar”在C#中的作用与Java中的“imports foo.bar.*”相同。你可以很容易地对此进行测试。相关:你应该尝试一下这些建议并加以权衡-我在这里被杀是因为我不同意一个308k成员。@DaveDoknjas,我不认为你被杀是因为你不同意一个308k成员。里德的答案是可靠的、清晰的、毫不含糊的。@DaveDoknjas那么解决办法就是编辑你的答案,使之更清晰。展示用例、文档、构建它。SO社区非常擅长向上投票赞成和向下投票反对。你可以从查看@tnw的链接开始