Подтвердить что ты не робот

Что означает знак доллара после имени метода в vb.net

что означает знак доллара после имени метода в vb.net

вот так:

Replace$("EG000000", "0", "")
4b9b3361

Ответ 1

Уведомление старого типа - см. это

Некоторые другие старые:

& -> Long
% -> Integer
# -> Double
! -> Single
@ -> Decimal
$ -> String

Все еще существует в VB.Net ради обратной совместимости...

Ответ 2

В "классическом" VB существовали две версии встроенных встроенных функций. Позвольте мне использовать Left в качестве примера:

  • Left(s, length) принимает вариант в качестве первого параметра и возвращает вариант.
  • Left$(s, length) берет строку в качестве первого параметра и возвращает строку.

Это различие все еще существует в современном VBA.

Я подозреваю, что причина этого в том, что строки в VBA не могут быть Null (обратите внимание, что Null <> ""). Таким образом, при работе с полями NULL базы данных вам приходилось использовать переменные варианта. Переменные переменных могут принимать любое значение, включая все интегральные значения (строки, целые числа,...), а также некоторые специальные значения, такие как Null, Empty или Missing. Функции non $позволили вам использовать варианты в качестве входных данных и получить варианты в качестве вывода. Например, Left(Null, ...) возвращает Null.

В VB.NET это разграничение больше не нужно: функции не-$ выполняют точно так же, как и $-функции, которые сохраняются только для обратной совместимости со старым кодом.

Ответ 3

Что сказал Хайнци и прояснил бизнес-характер типа

    Dim s$ = "FooBar" 'dim s as String = "FooBar"

    Dim r As String
    Stop

    r = Replace$(s, "Bar", "")
    '.Net equivalent
    r = s.Replace("Bar", "")