什么';在vb.net中声明为new和as something=new something之间有什么区别?
我见过这样的代码什么';在vb.net中声明为new和as something=new something之间有什么区别?,vb.net,Vb.net,我见过这样的代码 Dim s as something = new something Dim s as new something 有什么区别?有什么不同吗?我相信你所做的只是把某个东西具体地塑造成某个东西。没有区别。就VB而言,这些签名是相同的。一种是打字少一些:)稍有不同 第一个允许您执行以下操作: Dim s as ParentType = new InheritedType 第二个没有 这种方法的“优点”是,可以有许多与ParentType相关的不同类型,而不会在运行时爆炸。没有区
Dim s as something = new something
Dim s as new something
有什么区别?有什么不同吗?我相信你所做的只是把某个东西具体地塑造成某个东西。没有区别。就VB而言,这些签名是相同的。一种是打字少一些:)稍有不同 第一个允许您执行以下操作:
Dim s as ParentType = new InheritedType
第二个没有
这种方法的“优点”是,可以有许多与ParentType相关的不同类型,而不会在运行时爆炸。没有区别 您可能会看到一些开发人员更喜欢
Dim s as something = new something
结束
这可能是Vb6的遗留问题(,因为Vb6中新的
比您想象的要多,并且有严重的副作用)。
这是Vb.Net“修复”的问题之一
只是重申一下,在Vb.Net中,语句是等效的,即两个语句将构建完全相同的IL。此场景中没有涉及强制转换,这不是要问的问题。不是吗?我已经展示了两者之间的区别,并解释了它允许您做什么。问题是“x=新x”之间的区别是什么。不是“x=新y”。我今天只是勉强走上了战争的道路。昨晚我问了很多问题,人们投票赞成回答一个与被问问题完全不同的问题。你的问题是关于主题的,我只是被其他问题的疯狂蒙蔽了双眼。很抱歉,但在我看来,在回答问题的同时提供额外的相关信息比只回答问题更有价值。问:有可能做“事”吗?答:是的,但这里有一些信息可以让你做出更明智的决定。
Dim s as new something