VB.NET中的高效,多变量声明和赋值

sha*_*k3r 2 vb.net variable-assignment variable-declaration

作为VB.NET的新手,我想知道以下哪一项在性质上更有效(时间更快(代码运行速度更快),代码整洁性等等.您也可以添加自己的原因)

Dim a, b, c, d As Integer
a = 1
b = 2
c = 3
d = 4
Run Code Online (Sandbox Code Playgroud)

要么

Dim a As Integer = 1
Dim b As Integer = 2
Dim c As Integer = 3
Dim d As Integer = 4
Run Code Online (Sandbox Code Playgroud)

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

Ric*_*Ric 6

为清楚起见,也许每行一个变量和我个人的赋值更容易查看,也更清晰。

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

Dim a As Single = 1, b As Single = 2, x As Double = 5.5, y As Double = 7.5
Run Code Online (Sandbox Code Playgroud)

取自这里

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


nun*_*bar 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
Run Code Online (Sandbox Code Playgroud)

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