jaki jest sens tego znaku dolara po nazwie metody w VB.NETjaki jest sens tego znaku dolara po nazwie metody w VB.NET
tak:
Replace$("EG000000", "0", "")
jaki jest sens tego znaku dolara po nazwie metody w VB.NETjaki jest sens tego znaku dolara po nazwie metody w VB.NET
tak:
Replace$("EG000000", "0", "")
Stary Typ zgłaszający - see this
Niektóre inne stare:
& -> Long
% -> Integer
# -> Double
! -> Single
@ -> Decimal
$ -> String
nadal istnieją w VB .Net ze względu na kompatybilność wsteczną ...
W "klasycznym" VB istnieją dwie wersje wbudowanych funkcji ciągowych. Pozwól mi używać Left
jako przykład:
Left(s, length)
zajmuje wariant jako pierwszy parametr i zwraca wariant.Left$(s, length)
przyjmuje ciąg jako pierwszy parametr i zwraca ciąg.To rozróżnienie nadal istnieje we współczesnym VBA.
Podejrzewam, że powodem tego jest to, że łańcuchy w VBA nie mogą być Null
(zauważ, że Null <> ""
). Tak więc, gdy mamy do czynienia z zerowymi polami bazy danych, trzeba użyć zmiennych wariantowych. Zmienne Zmienne mogą przyjmować dowolną wartość, w tym wszystkie wartości całkowite (łańcuchy, liczby całkowite, ...), a także niektóre specjalne wartości, takie jak Null
, Empty
lub Missing
. Funkcje inne niż $ pozwoliły używać wariantów jako danych wejściowych i uzyskać warianty jako dane wyjściowe. Na przykład Left(Null, ...)
zwraca Null
.
W VB.NET rozróżnienie to nie jest już konieczne: funkcje inne niż $ działają dokładnie tak samo, jak funkcje $, które są zachowywane tylko dla zgodności wstecznej ze starym kodem.
Co Heinzi powiedział i wyjaśnić działalność typu znaków
Dim s$ = "FooBar" 'dim s as String = "FooBar"
Dim r As String
Stop
r = Replace$(s, "Bar", "")
'.Net equivalent
r = s.Replace("Bar", "")
Dla kompletności [MSDN Link] (http://msdn.microsoft.com/en-us/library/s9cz43ek % 28v = VS.100% 29.aspx). –
To, do czego się odwołujesz, to Type Type, które powodują, że dim s $ i dim s jako ciąg znaków są takie same. Zobacz odpowiedź Heinziego. – dbasnett