Что такое хорошая операция без OP для vb.net?
Что-то, что мы можем просто поставить точку останова, убедившись, что больше ничего не происходит.
В с, это было бы в то время как (ложь);
Что делать в vb.net?
4 ответа
Если вам всегда нужно, чтобы сломать там, вы можете положить Stop
или же Debugger.Break()
Для этого есть законный вариант использования. Когда после заявления о заинтересованности требуется временная точка останова, а это последняя строка внутри оператора if, для размещения временной точки останова требуется дополнительная инструкция типа no-op. В этом случае я использую:
If someCondition >0 Then
doSomething
Space (1) 'Dummy line to place breakpoint
End If
Это возвращает строку, содержащую один пробел, но никому ее не назначает. Я использую его в VBA, но он также поддерживается в.net
Мои два цента...
Вы можете объединить любую серию команд в одну строку с двоеточиями:
If False Then : End If
Select Case False : Case Else : End Select
Я тоже сделал из него подлодку. Затем он получает собственное узнаваемое имя:
'Definition...
Public Sub noop () 'Or Private, Protected, etc.
End Sub
'Usage...
Sub Main()
If sometest Then
noop
Else
MsgBox "test is false"
End If
End Sub
Если вы действительно хотите по какой-то причине No-Op (может ли это превратиться в соревнование за самую неэффективную единственную строку кода?!), как насчет этого?
System.Threading.Thread.Sleep(1)
- 1 мс вряд ли будет иметь огромное влияние вне цикла
Debug.Write("")
- ничего не выводится.
Я знаю, что это старый запрос, но, несмотря на то, что он стоит, я предпочитаю решение исходного вопросаDebug.Assert (vbTrue)
Если вы хотите, вы можете использовать переменную вместо vbTrue, а затем включить / отключить все точки останова в своем коде, изменив одну переменную
Dim bDisableBreakpoints as Boolean: bDisableBreakpoints = vbTrue
'your code here
Debug.Assert (bDisableBreakpoints)
'rest of your code
Просто измените bDisableBreakpoints на
vbFalse
и точки останова будут установлены везде, где вы использовали Debug.Assert
Оператор no-op также полезен в качестве вспомогательного средства для красивого документирования кода и облегчения его понимания. Вы можете, например, ввести такой оператор, как A = A.
Например:
Если MyNumber => 100, то A = A
Else:
Очень странный вопрос, вы можете разместить BreakPoint где-нибудь в коде. Но вот несколько бесполезных строк:
Do While False
Loop
While False
End While
Даже следующее:
Dim hello = Nothing
Или это:
Format("", "")
Мой личный фаворит -
dim b=1
Затем я поставил там точку останова.