高效,多变量声明&在VB.NET中分配

时间:2013-11-08 12:36:44

标签: vb.net variable-assignment variable-declaration

作为VB.NET的新手,我想知道以下哪一项在性质上更有效(时间方面(代码运行得更快),代码整洁等等。你也可以添加自己的理由)

Dim a, b, c, d As Integer
a = 1
b = 2
c = 3
d = 4

OR

Dim a As Integer = 1
Dim b As Integer = 2
Dim c As Integer = 3
Dim d As Integer = 4

我主要是在问这个问题,因为我的代码有太多Dim个陈述&来自Python背景,我从来没有见过太多的声明(我确实需要那些,相信我)。这个可以吗?或者我的编码方式不好?

3 个答案:

答案 0 :(得分:6)

运行时性能将相同,因为它们都编译为相同的IL。

.locals init ([0] int32 a,
       [1] int32 b,
       [2] int32 c,
       [3] int32 d)
IL_0000:  ldc.i4.1
IL_0001:  stloc.0
IL_0002:  ldc.i4.2
IL_0003:  stloc.1
IL_0004:  ldc.i4.3
IL_0005:  stloc.2
IL_0006:  ldc.i4.4
IL_0007:  stloc.3
IL_0008:  ret

样式方面,我会避免在一行上声明多个变量(如第一个示例中所示)。每行一个“概念”更容易阅读 - 因为您不必在视觉上解析逗号。

答案 1 :(得分:3)

为了清楚起见,也许每行一个变量给我个人分配更容易看清楚。

我的意思是你可以这样做:

Dim a As Single = 1, b As Single = 2, x As Double = 5.5, y As Double = 7.5

Taken from here

但在这一点上,事情看起来有点困难。我想这完全是一件好事!

答案 2 :(得分:-2)

两个选项都可以。如果您不满意,那么您可以创建一个数组,因为所有变量都具有相同的数据类型。希望有所帮助。