2013-11-08 3 views
2

Будучи новым для VB.NET, я хотел бы знать, какая из следующих функций более эффективна в природе (по времени (код работает быстрее), код- опрятность-накрест, и т.д. вы можете добавить свои собственные причины тоже)Эффективное объявление нескольких переменных и назначение в VB.NET

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

ИЛИ

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

Я в основном спрашиваю это потому, что мой код имеет слишком много Dim заявления & поступающее от фона Python, Я никогда не накануне r видел soooo много объявлений (мне действительно нужны, хотя, поверьте мне). Это нормально? Или я кодирую в плохом стиле?

+0

Если ваш код имеет «слишком много указаний Dim», то, возможно, должен состояться рефактор? Ничего хуже, чем иметь способ слишком многого! – Ric

+0

Мне действительно нужны эти переменные. Это на самом деле часть рефакторинга! : D –

ответ

3

Производительность выполнения будет идентичной, поскольку они оба скомпилируются с тем же ИЛ.

.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

Для большей ясности, пожалуй, одна переменная на строку с заданием для меня легче смотреть и намного яснее.

Я имею в виду вы можете сделать это:

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

Taken from here.

Но на данный момент все становится немного сложнее. Я полагаю, это совершенно предположение!

-2

Оба варианта в порядке. Тем не менее, если вы недовольны, вы можете создать массив, поскольку все переменные имеют одни и те же типы данных. Надеюсь, это поможет.

Смежные вопросы