在c#和VB中导入命名空间的区别

本文关键字:命名空间 区别 导入 VB | 更新日期: 2023-09-27 18:08:43

我开始学习c#了。

在VB中,当我们添加一个新的引用(在我的例子中是web引用)时,它只需键入namespace后跟类名来创建一个新对象。例如:

Dim obj As NamespaceName.ClassName = New NamespaceName.ClassName

然后我在c#中应用这个概念。所以我的代码是:

NamespaceName.ClassName obj = new NamespaceName.ClassName

…它不工作。

实际上,这两者之间导入命名空间有什么区别吗?还有,你能给我一点关于VB中项目范围默认命名空间导入的解释吗?

我的观点是为什么"在c#中,当我输入NamespaceName时,ClassName没有在智能感知中列出?"然而,它在VB中做得很好,我必须导入一些东西吗?也许,这与术语"项目范围内的默认命名空间导入"有关。("

在c#和VB中导入命名空间的区别

在c#中,当在末尾调用构造函数时需要括号():

NamespaceName.ClassName obj = new NamespaceName.ClassName();

VB。. NET更宽松,不需要它们。

正如Anthony Pegram在评论中指出的,在c#中,如果你使用对象初始化语法,你不需要括号,你用大括号代替它们{ }

NamespaceName.ClassName obj = new NamespaceName.ClassName
{
    SomeProperty = "some value"
};

你试过了吗

NamespaceName.ClassName obj = new NamespaceName.ClassName();

在您的c#项目中,您是否有对该类存在的程序集的引用?不同的项目模板可能有不同的默认程序集引用,或者您可能忘记在c#项目中添加VB项目中的引用。