这是一个简单的概念,但我从来没有被教过。 请有人请解释以下两个陈述之间的差异:

Dim c as MyClass

Dim c as New MyClass

#1楼 票数:9 已采纳

Dim c as New MyClass是一个快捷方式,严格等同于以下内容:

Dim c as MyClass = New MyClass

两者都与Dim c as MyClass不同, Dim c as MyClass :没有New的语句只声明变量,它没有赋值。 这意味着该变量的默认值为Nothing

另一方面, New MyClass将该类的新创建的实例分配给变量。

  ask by Curt translate from so

未解决问题?本站智能推荐:

4回复

使用索引属性C#时出错

所以我的主要问题是我在用于访问AppSettings的VB.NET项目中有一个静态类。 原始代码如下所示 因此,经过大量搜索,我认为使用索引器是必经之路,我想出了以下c#代码,除非我尝试实现它,否则不会导致* compiling错误。 当我尝试使用它时,我不知道问题是否出在我的实现或
2回复

如何将这4个SQL表转换为OO类(Java或C#),但不转换为NHibernate / LINQ?

新手在这里。 我正在尝试学习OOD / OOP,并在网上阅读了我不应该将SQL表转换为类的信息。 但我找不到解释为什么不这样做或跳过哪些表。 因此,我根据下图制作了一个Web应用程序。 效果很好。 但是我不使用OO。 有人可以简单解释一下哪个表不应映射到类中,为什么不这样做。 感谢
5回复

C#vs VB.Net,阴影和[重载(不改变参数)]之间的区别是什么

很抱歉这个问题很长,但我对C#不熟悉(我曾经使用过VB.Net) 我完全理解VB.Net和C#中的重写和重载之间的区别。所以覆盖没有问题。 现在,在VB.Net中 , Shadowing (使用关键字Shadows)和Overloading (使用带有相同参数的关键字Overload
1回复

调用方法* in **基类时,相当于vb中的c#virtual

我知道如何在调用类的方法时使用VB的Overridable和Overrides来获得与c#的virtual类似的功能。 但是,请考虑下面的c#控制台代码,该代码从类本身内部调用一个重写的方法: 我可以预料地在C#中得到的结果是: 从基本方法问好 你好,覆盖方法 问
2回复

在 Visual Basic(不是 VB.NET)中创建一个对象而不使用“New”

有人告诉我要跳出框框思考,想办法在 VB 中创建对象而不使用 new 关键字。 有人告诉我这是可能的,但我无法弄清楚。 我知道原始数据存储在堆栈中,对对象的引用也存储在那里,但对象的实际内存空间在堆中,而 new 为我们做这件事。 当我在没有 new 的情况下尝试时,我大多会得到空引用异常,关于这如
4回复

VB.NET和C#中的面向对象编程

可以任何人建议一些很好的教程,我可以阅读我们在实时场景中使用的实际面向对象的概念。 不是“类是容器。水果是父类,苹果是儿童类”的东西。 最近我在vb.net中开发了一个多线程的GUI应用程序,发现了许多障碍,比如在另一个表单中使用一个表单的元素,在其他类中更改表单属性,何时创建对象以访问
3回复

在 VB.NET 与 C# 中实现属性的多级继承

假设我有 2 个定义如下的接口: 当我在 C# 中实现接口时,VS 生成以下模板化代码: 在 VB.NET 中,相同的类是这样构建的: Public Class CartItem Implements ICartItem Public Property IsDiscount
1回复

如何从遥远的类中调用未引用的方法? (允许使用C#和VB.NET)

对于我一生,我无法找到解决方案:我设置了一个类,该类可以执行多项操作,其中之一是操作wpf窗口。 这些窗口之一是MainWindow.xaml 。 因此,例如,我希望此类关闭MainWindow.xaml ,即是否从OtherClass.cs调用一个方法。 基本上:我想从一个遥远的