Wcześniejsze wersje języka Visual Basic tworzone były z myślą o projektowaniu aplikacji klienckich Microsoft® Windows®. Tworząc Visual Basic .NET, pomyślano także o zastosowaniu tego języka do tworzenia aplikacji internetowych i serwisów XML. Właśnie dlatego Visual Basic .NET generuje kod dla wspólnego środowiska uruchomieniowego, co spowodowało wprowadzenie zmian w obrębie samego języka.
Książka zawiera szczegółowe omówienie wszystkich elementów języka Visual Basic .NET opisanych w oficjalnej, elektronicznej dokumentacji. Jeżeli zajmujesz się programowaniem w VB .NET możesz być pewien, że szybko nie odłożysz jej na półkę.
Poznaj wszystkie szczegóły języka i środowiska uruchomieniowego:
* Atrybuty
* Stałe
* Typy danych
* Dyrektywy
* Funkcje
* Słowa kluczowe
* Metody
* Obiekty
* Operatory
* Właściwości
* Polecenia
Visual Basic .NET został zaprojektowany jako najprostsze, a przy tym efektywne narzędzie do tworzenia aplikacji i serwisów Microsoft .NET. Użyj Encyklopedii, a poznasz moc i elastyczność tego języka.
1. IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI Visual Basic .NET.
Opis jêzyka
KATALOG KSI¥¯EK
Autor: Microsoft Corporation
KATALOG ONLINE T³umaczenie: Agata Bulandra
ISBN: 83-7197-822-7
ZAMÓW DRUKOWANY KATALOG Tytu³ orygina³u: Microsoft Visual Basic .Net
Language Reference
Format: B5, stron: 562
TWÓJ KOSZYK
DODAJ DO KOSZYKA Wcze niejsze wersje jêzyka Visual Basic tworzone by³y z my l¹ o projektowaniu
aplikacji klienckich Microsoft® Windows®. Tworz¹c Visual Basic .NET, pomy lano tak¿e
o zastosowaniu tego jêzyka do tworzenia aplikacji internetowych i serwisów XML.
CENNIK I INFORMACJE W³a nie dlatego Visual Basic .NET generuje kod dla wspólnego rodowiska
uruchomieniowego, co spowodowa³o wprowadzenie zmian w obrêbie samego jêzyka.
ZAMÓW INFORMACJE Ksi¹¿ka zawiera szczegó³owe omówienie wszystkich elementów jêzyka Visual Basic
O NOWO CIACH .NET opisanych w oficjalnej, elektronicznej dokumentacji. Je¿eli zajmujesz siê
programowaniem w VB .NET mo¿esz byæ pewien, ¿e szybko nie od³o¿ysz jej na pó³kê.
ZAMÓW CENNIK Poznaj wszystkie szczegó³y jêzyka i rodowiska uruchomieniowego:
• Atrybuty
CZYTELNIA • Sta³e
• Typy danych
FRAGMENTY KSI¥¯EK ONLINE • Dyrektywy
• Funkcje
• S³owa kluczowe
• Metody
• Obiekty
• Operatory
• W³a ciwo ci
• Polecenia
Visual Basic .NET zosta³ zaprojektowany jako najprostsze, a przy tym efektywne
narzêdzie do tworzenia aplikacji i serwisów Microsoft .NET. U¿yj Encyklopedii,
a poznasz moc i elastyczno æ tego jêzyka.
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
2. Spis treści
Zanim zaczniesz 13
Konwencje typograficzne i konwencje kodu ..................................................................................13
Rozdział 1. Visual Basic .NET — wprowadzenie 15
Zmiany w języku Visual Basic........................................................................................................15
Krótki przegląd zmian w implementacji elementów języka.....................................................15
Zmiany w deklaracjach .............................................................................................................22
Zmiany w funkcjach..................................................................................................................26
Zmiany w obiektach i komponentach .......................................................................................30
Zmiany w procedurach..............................................................................................................35
Zmiany w przebiegu sterowania ...............................................................................................39
Zmiany w tablicach...................................................................................................................41
Zmiany w typach danych ..........................................................................................................44
Zmiany we właściwościach ......................................................................................................47
Inne zmiany...............................................................................................................................50
Przegląd pojęć języka Visual Basic ................................................................................................52
Słowa kluczowe języka Visual Basic..............................................................................................58
Rozdział 2. Opis A – Z 61
#Const — dyrektywa.......................................................................................................................61
#ExternalSource — dyrektywa .......................................................................................................62
#If...Then...#Else — dyrektywy ......................................................................................................62
#Region — dyrektywa ....................................................................................................................64
& — operator ..................................................................................................................................65
&= — operator ................................................................................................................................66
∗ — operator....................................................................................................................................66
∗= — operator .................................................................................................................................67
+ — operator ...................................................................................................................................68
+= — operator .................................................................................................................................71
– — operator....................................................................................................................................72
–= — operator .................................................................................................................................73
/ — operator ....................................................................................................................................74
/= — operator ..................................................................................................................................75
= — operator ...................................................................................................................................76
— operator ....................................................................................................................................77
= — operator ..................................................................................................................................78
3. 4 Spis treści
^ — operator....................................................................................................................................79
^= — operator .................................................................................................................................80
Add — metoda ................................................................................................................................81
AddHandler — polecenie................................................................................................................83
AddressOf — operator ....................................................................................................................84
Alias ................................................................................................................................................85
And — operator...............................................................................................................................85
AndAlso — operator .......................................................................................................................87
Ansi .................................................................................................................................................89
AppActivate — funkcja ..................................................................................................................89
AppWinStyle — wyliczenie............................................................................................................90
As ....................................................................................................................................................91
Asc, AscW — funkcje.....................................................................................................................91
Assembly .........................................................................................................................................92
Auto .................................................................................................................................................93
Beep — funkcja...............................................................................................................................93
Boolean — typ danych ....................................................................................................................93
ByRef ..............................................................................................................................................94
Byte — typ danych..........................................................................................................................94
ByVal ..............................................................................................................................................95
Call — polecenie .............................................................................................................................95
CallByName — funkcja ..................................................................................................................96
CallType — wyliczenie...................................................................................................................98
Case .................................................................................................................................................98
Char — typ danych .........................................................................................................................99
ChDir — funkcja .............................................................................................................................99
ChDrive — funkcja .......................................................................................................................100
Choose — funkcja .........................................................................................................................101
Chr, ChrW — funkcje ...................................................................................................................102
Class — polecenie .........................................................................................................................104
Clear — metoda ............................................................................................................................107
Collection — obiekt ......................................................................................................................108
ComClassAttribute — klasa..........................................................................................................109
ComClassAttribute — konstruktor................................................................................................110
ComClassAttribute.ClassID — właściwość..................................................................................111
ComClassAttribute.EventID — właściwość .................................................................................112
ComClassAttribute.InterfaceID — właściwość ............................................................................112
ComClassAttribute.InterfaceShadows — właściwość ..................................................................113
Command — funkcja ....................................................................................................................113
CompareMethod — wyliczenie ....................................................................................................114
Const — polecenie ........................................................................................................................114
Count — właściwość.....................................................................................................................117
CreateObject — funkcja................................................................................................................118
CType — funkcja ..........................................................................................................................120
CurDir — funkcja..........................................................................................................................121
Date — typ danych........................................................................................................................122
DateAdd — funkcja ......................................................................................................................122
DateDiff — funkcja.......................................................................................................................125
DateFormat — wyliczenie ............................................................................................................129
DateInterval — wyliczenie............................................................................................................129
12. Opis A – Z
#Const — dyrektywa
Definiuje stałe warunkowe dla kompilatora języka Visual Basic.
%QPUV PCYC5VC GL Y[TC GPKG
Części
PCYC5VC GL
Wymagana. Łańcuch. Nazwa definiowanej stałej.
Y[TC GPKG
Wymagana. Stała literowa, inna stała warunkowa kompilatora lub ich dowolna
kombinacja zawierająca pewne lub wszystkie operatory arytmetyczne lub logiczne,
za wyjątkiem Is.
Komentarze
Stałe warunkowe kompilatora zawsze są prywatne dla pliku, w którym istnieją. Za po-
mocą dyrektywy #Const nie mo na stworzyć publicznej zmiennej kompilatora; mo na
ją stworzyć wyłącznie w interfejsie u ytkownika.
W Y[TC GPKW mo na u ywać wyłącznie stałych warunkowych kompilatora lub stałych
literowych. Zastosowanie standardowej stałej zdefiniowanej przez dyrektywę #Const
spowoduje błąd. Odwrotnie — stałych zdefiniowanych przy u yciu słowa kluczowego
#Const mo na u ywać tylko dla kompilacji warunkowej. Stałe mogą być tak e niezde-
finiowane (mają wtedy wartość Nothing).
Przykład
Przykład wykorzystuje dyrektywę #Const.
13. 62 #ExternalSource — dyrektywa
%QPUV /QL-TCL 2QNUMC
%QPUV 9GTULC
%QPUV 0T-NKGPVC
Zobacz tak e:
Dyrektywy #If...Then...#Else;
Polecenie Const.
#ExternalSource — dyrektywa
Wskazuje odwzorowanie pomiędzy liniami kodu źródłowego, a tekstem znajdującym
się poza źródłem (na przykład w pliku .aspx).
'ZVGTPCN5QWTEG
5VC C C EWEJQYC 5VC C.KEDQYC
= .QIKEPC.KPKC
?
'PF 'ZVGTPCN5QWTEG
Części
5VC C CPEWEJQYC
Ście ka do zewnętrznego źródła.
5VC C.KEDQYC
Numer pierwszej linii w zewnętrznym źródle.
.QIKEPC.KPKC
Linia, w której pojawia się błąd w źródle zewnętrznym.
#End ExternalSource
Kończy blok #ExternalSource.
Komentarze
Plik źródłowy mo e zawierać dyrektywy źródła zewnętrznego, które sygnalizują od-
wzorowanie między liniami źródłowymi, a tekstem na zewnątrz pliku źródłowego, więc
błędy napotkane przy kompilacji identyfikowane są jako błędy pochodzące ze źródła
zewnętrznego. Dyrektywy źródła zewnętrznego nie mają wpływu na kompilację i nie
mogą być zagnie d ane. Przeznaczone są wyłącznie do u ytku wewnętrznego aplikacji.
#If...Then...#Else — dyrektywy
Warunkowo kompilują wybrane bloki kodu w języku Visual Basic.
+H Y[TC GPKG 6JGP
KPUVTWMELG
= 'NUG+H Y[TC GPKG 6JGP
= KPUVTWMELG ?
14. #If...Then...#Else — dyrektywy 63
'NUG+H Y[TC GPKG 6JGP
= KPUVTWMELG ? ?
= 'NUG
= KPUVTWMELG ? ?
'PF +H
Części
Y[TC GPKG
Wymagane jest dla instrukcji If i ElseIf, w pozostałych miejscach jest opcjonalne.
Ka de wyra enie składa się z jednej lub kilku warunkowych stałych kompilatora,
stałych literowych oraz operatorów, które daje w wyniku wartość True
lub False. Istnieją trzy stałe warunkowej kompilacji: Config, Debug i Trace.
Debug i Trace są typu Boolean i mogą być ustawione w oknie dialogowym
właściwości projektu (Project Properties). Gdy zdefiniowana jest stała Debug,
metody klasy Debug wyświetlają komunikaty w oknie Output. Gdy stała nie
jest zdefiniowana, metody klasy Debug nie są kompilowane, tak e komunikaty
dotyczące błędów nie są generowane. Podobnie dzieje się, gdy zdefiniowana
zostaje stała Trace — metody klasy Trace wyświetlają dane wyjściowe w oknie
Output. Gdy nie jest zdefiniowana, metody klasy Trace nie są kompilowane,
a dane wyjściowe Trace nie są tworzone. Typ danych stałej Config to łańcuch,
który odpowiada aktualnym ustawieniom w mened erze konfiguracji
(Configuration Manager).
KPUVTWMELG
Wymagane w bloku polecenia If, w innych miejscach są opcjonalne. Są to
linie programu języka Visual Basic lub dyrektywy kompilatora, które są
kompilowane, gdy skojarzone wyra enia mają wartość True.
#End If
Kończy blok polecenia #If.
Komentarze
Ogólnie rzecz biorąc, działanie dyrektyw #If...Then...#Else jest takie samo jak działa-
nie poleceń If...Then...Else. Jednak istnieje ró nica — dyrektywy #If...Then...#Else
określają to, co zostanie skompilowane przez kompilator, a polecenia If...Then...Else
oceniają warunki podczas wykonania programu.
Kompilacja warunkowa zazwyczaj wykorzystywana jest do kompilowania tego samego
programu dla ró nych platform. Stosuje się ją tak e wtedy, gdy nie chce się umieszczać
w pliku wykonywalnym kodu generującego dodatkowe informacje o błędach. Kod, wy-
kluczony podczas kompilacji warunkowej, jest całkowicie pominięty w końcowym pliku
wykonywalnym, a więc nie ma wpływu ani na jego wielkość, ani na wydajność.
Bez względu na rezultat wyliczeń, wszystkie wyra enia wyliczane są przy u yciu pole-
cenia Option Compare Text. Polecenie to (Option Compare) nie ma wypływu na wy-
ra enia znajdujące się w instrukcjach #If i #ElseIf.
15. 64 #Region — dyrektywa
Nie istnieją jednoliniowe wersje dyrektyw #If, #Else, #ElseIf i #End If. Oznacza to, e w tej
samej linii — poza dyrektywami — nie mo e znajdować się aden inny kod.
Przykład
W przykładzie wykorzystano konstrukcję #If...Then...#Else, aby ustalić, czy nale y
kompilować pewne instrukcje.
%QPUV 0T-NKGPVC
+H 0T-NKGPVC 6JGP
6W PCNG [ YUVCYKè MQF MVÎT[ OC D[è UMQORKNQYCP[ FNC MNKGPVC PT
'NUG+H 0T-NKGPVC 6JGP
6W PCNG [ YUVCYKè MQF MVÎT[ OC D[è UMQORKNQYCP[ FNC MNKGPVC PT
'NUG
6W PCNG [ YUVCYKè MQF MVÎT[ OC D[è UMQORKNQYCP[ FNC RQQUVC [EJ MNKGPVÎY
'PF +H
Zobacz tak e:
Dyrektywa #Const.
#Region — dyrektywa
Zwija i ukrywa fragmenty kodu w plikach Visual Basic .NET podczas edycji kodu w śro-
dowisku Visual Studio.
4GIKQP C EWEJAKFGPV[HKMCVQTC
'PF 4GIKQP
Części
C EWEJAKFGPV[HKMCVQTC
Wymagana. Łańcuch stanowiący tytuł zwiniętego obszaru. Fragmenty te są
domyślnie w stanie zwiniętym.
#End Region
Kończy blok #Region.
Komentarze
Dyrektywa #Region pozwala określić blok kodu, który mo na zwijać i rozwijać, gdy
korzystamy z widoku konspektu w edytorze kodu w Visual Studio®. Instrukcja #Region
obsługuje bloki semantyczne (na przykład #If...#End If). Oznacza to, e ich początek
i koniec musi się znajdować wewnątrz tego samego bloku kodu.
Przykład
Poni szy przykład zawiera dyrektywę #Region.
4GIKQP (WPMELG/CVGOCV[EPG
9 V[O OKGLUEW YUVCYKCO[ EC [ MQF YKæCP[ HWPMELCOK OCVGOCV[EP[OK
'PF 4GIKQP
16. — operator 65
— operator
Tworzy łańcuch będący połączeniem dwóch wyra eń.
Y[PKM Y[TC GPKG Y[TC GPKG
Części
Y[PKM
Wymagana. Dowolna zmienna typu String lub Object.
Y[TC GPKG
Wymagana. Dowolne wyra enie.
Y[TC GPKG
Wymagana. Dowolne wyra enie.
Komentarze
Jeśli typ danych Y[TC GPKC lub Y[TC GPKC jest inny ni String, to zostaną one prze-
kształcone na łańcuch. Typ danych Y[PKMW to String. Jeśli jedno z wyra eń (lub oby-
dwa) określone jest jako Nothing lub ma wartość DBNull.value, to traktowane jest jako
łańcuch o wartości .
Przykład
Operator został wykorzystany do wymuszenia sklejenia dwóch łańcuchów. Wyni-
kiem jest wartość łańcucha, będąca połączeniem dwóch łańcuchów operandów.
KO OQL.CPEWEJ #U 5VTKPI
OQL.CPEWEJ 9KVCO YKCV YTCEC 9KVCO YKCV
Poni szy przykład wykorzystuje operator , aby wymusić konkatenację na wyniku wy-
szukiwania w bazie. Wynik jest łańcuchem uzyskanym z bazy lub — w przypadku, gdy
wyszukanie zwróci wartość pustą — łańcuchem o zerowej długości.
KO 45 #U 4GEQTFUGV %OF'ZGEWVG
5GNGEV
17. HTQO
KO OQL.CPEWEJ #U 5VTKPI
/QL.CPEWEJ TU
CWAKF
Zobacz tak e:
Operator =;
Operatory sklejania;
Priorytet operatorów w języku Visual Basic;
Podział operatorów ze względu na funkcjonalność.
18. 66 = — operator
= — operator
Dokleja wyra enie łańcuchowe do łańcucha zmiennej, przypisując zmiennej wynik.
OKGPPC Y[TC GPKG
Części
OKGPPC
Wymagana. Dowolna zmienna typu String.
Y[TC GPKG
Wymagana. Dowolne wyra enie łańcuchowe.
Przykład
W poni szym przykładzie operator = wykorzystano do połączenia dwóch zmiennych
typu String i przypisania wyniku do pierwszej zmiennej.
KO OKGPPC #U 5VTKPI 9KVCO
KO OKGPPC #U 5VTKPI YKCV
OKGPPC OKGPPC 6GTC YCTVQ EKæ OKGPPGL OKGPPC LGUV 9KVCO YKCV
Zobacz tak e:
Operator ;
Operator ∗=;
Operator +=;
Operator –=;
Operator /=;
Operator =;
Operator =;
Operator ^=.
∗ — operator
Tworzy iloczyn dwóch liczb.
NKEDC
20. ∗= — operator 67
Wynik
Wynik jest iloczynem NKED[ i NKED[.
Obsługiwane typy
Byte, Short, Integer, Long, Single, Double, Decimal
Komentarze
Typ danych wyniku jest taki sam jak typ operandu o większym zakresie. Kolejność ty-
pów danych według skali od najmniejszego do największego zakresu jest następująca:
Byte, Short, Integer, Long, Single, Double i Decimal.
Jeśli wartość wyra enia jest podana jako Nothing lub jest pusta, to traktowana jest jako 0.
Przykład
Poni szy przykład wykorzystuje operator ∗ do przemno enia dwóch liczb. Wynik jest
iloczynem dwóch operandów.
KO OQLC9CTVQUE #U QWDNG
OQLC9CTVQUE
22. YTCEC
Zobacz tak e:
Operator ∗=;
Operatory arytmetyczne;
Priorytet operatorów w języku Visual Basic;
Podział operatorów ze względu na funkcjonalność.
∗= — operator
Mno y wartość zmiennej przez wartość wyra enia i przypisuje wynik zmiennej.
OKGPPC
24. 68 + — operator
Przykład
Poni szy przykład wykorzystuje operator ∗= do pomno enia zmiennej, będącej liczbą
całkowitą typu Integer, przez drugą zmienną i przypisuje wynik do pierwszej zmiennej.
KO OKGPPC #U +PVGIGT
KO OKGPPC #U +PVGIGT
OKGPPC
25. OKGPPC 9CTVQ è OKGPPGL OKGPPC Y[PQUK VGTC
Zobacz tak e:
Operator =;
Operator ∗;
Operator +=;
Operator –=;
Operator /=;
Operator =;
Operator =;
Operator ^=.
+ — operator
Dodaje dwie liczby. Jest tak e wykorzystywany do łączenia dwóch łańcuchów.
Y[TC GPKG
Y[TC GPKG
Części
Y[TC GPKG
Wymagana. Dowolne wyra enie numeryczne lub łańcuch.
Y[TC GPKG
Wymagana. Dowolne wyra enie numeryczne lub łańcuch.
Wynik
W przypadku, gdy Y[TC GPKG i Y[TC GPKG są wyra eniami numerycznymi, wartością
wyniku będzie suma wyra eń Y[TC GPKG i Y[TC GPKG Jeśli Y[TC GPKG i Y[TC GPKG są
łańcuchami, to wartość wyniku będzie sklejeniem łańcuchów Y[TC GPKG i Y[TC GPKG.
Obsługiwane typy
Byte, Short, Integer, Long, Single, Double, Decimal, String
26. + — operator 69
Komentarze
Jeśli korzystamy z operatora +, mo e okazać się, e nie będziemy w stanie ustalić, czy
zajdzie dodawanie, czy sklejanie łańcuchów. W celu uniknięcia niejasności, a tak e po
to, by otrzymać łatwy do zrozumienia kod, nale y do łączenia łańcuchów u ywać ope-
ratora .
Jeśli adne z wyra eń nie jest typu Object, stosowane są przedstawione ni ej zasady.
Jeśli... Wtedy...
Obydwa wyra enia mają ten sam typ Zostaną dodane.
danych numerycznych (Byte, Short,
Integer, Long, Single, Double
lub Decimal)
Obydwa wyra enia są łańcuchami Zostaną sklejone.
Jedno wyra enie jest typu Jeśli Option Strict ma wartość On, zostanie
numerycznego, a drugie wygenerowany błąd kompilacji; jeśli Option Strict
jest łańcuchem jest wyłączone (Off), łańcuch będzie niejawnie
konwertowany na typ Double i wyra enia zostaną
dodane. Jeśli łańcuch nie będzie mógł zostać
przekształcony na wartość numeryczną, zgłoszony
zostanie wyjątek InvalidCastException.
Jedno wyra enie jest typu Jeśli Option Strict ma wartość On, to zostanie
numerycznego, a drugie ma wygenerowany błąd kompilacji; jeśli Option
wartość Nothing Strict jest wyłączone (Off), wyra enia zostaną dodane
(wartość Nothing zostanie potraktowana jako zero).
Jedno wyra enie jest łańcuchem, Jeśli Option Strict ma wartość On, zostanie
a drugie ma wartość Nothing wygenerowany błąd kompilacji; jeśli Option Strict
jest wyłączone, wyra enia zostaną sklejone, a wartość
Nothing zostanie zamieniona na wartość .
Jeśli jedno z wyra eń jest typu Object, stosowane są przedstawione ni ej zasady.
Jeśli... Wtedy...
Jedno wyra enie jest wyra eniem Jeśli Option Strict jest włączone (On), zostanie
numerycznym typu Object, a drugie wygenerowany błąd kompilacji; jeśli Option Strict
ma wartość numeryczną jest wyłączone, wyra enia zostaną dodane.
Jedno wyra enie jest wyra eniem Jeśli Option Strict ma wartość On, zostanie
numerycznym typu Object, a typ wygenerowany błąd kompilacji; jeśli Option Strict
drugiego to String jest wyłączone (Off), łańcuch będzie niejawnie
konwertowany na typ Double i wyra enia zostają
dodane. Jeśli łańcuch nie będzie mógł zostać
przekształcony na wartość numeryczną, zgłoszony
zostanie wyjątek InvalidCastException.
Jedno wyra enie jest łańcuchem typu Jeśli Option Strict ma wartość On, zostanie wygenerowany
Object, a typ drugiego to String błąd kompilatora; jeśli Option Strict jest wyłączone (Off),
typ Object będzie niejawnie konwertowany na String,
a potem wyra enia zostaną połączone.
27. 70 + — operator
Jeśli... Wtedy...
Jedno wyra enie jest łańcuchem typu Jeśli Option Strict ma wartość On, zostanie
Object, a drugie wyra enie ma wygenerowany błąd kompilatora; jeśli Option Strict
wartość numeryczną jest wyłączone (Off), łańcuch będzie niejawnie
konwertowany na typ Double i wyra enia zostają
dodane. Jeśli łańcuch nie będzie mógł zostać
przekształcony na wartość numeryczną, zgłoszony
zostanie wyjątek InvalidCastException.
Jeśli obydwa wyra enia są typu Object, stosowane są przedstawione ni ej zasady (je-
dynie w przypadku Option Strict Off).
Jeśli... Wtedy...
Obydwa wyra enia typu Object są Zostają dodane.
numeryczne
Obydwa wyra enia typu Object są Zostają sklejone.
łańcuchami
Jedno wyra enie typu Object jest Niejawnie zmieniony zostaje nienumeryczny Object
numeryczne, a drugie jest łańcuchem na Double i dodany. Jeśli Object nie mo e zostać
przekształcony na wartość numeryczną, zgłoszony
zostanie wyjątek InvalidCastException.
Jeśli jedno lub obydwa wyra enia będą opisane jako Nothing lub będą miały przypisa-
ną wartość DBNull, traktowane będą jako łańcuch o wartości .
Przykład
Przykład wykorzystuje operator + do dodania liczb. Operatora + mo na tak e u ywać
do łączenia łańcuchów. Aby uniknąć niejasności, powinno się u ywać w takim przy-
padku operatora . Jeśli komponenty wyra enia utworzonego za pomocą operatora + są
numeryczne, to wykonana zostanie operacja arytmetyczna. Jeśli komponenty są jawny-
mi łańcuchami, to zostaną sklejone. Wyra enie nie mo e składać się z komponentów
ró nych typów. Wynik operacji arytmetycznej zwraca sumę dwóch operandów. Wynik
sklejenia zwraca łańcuch, który jest połączeniem dwóch operandów.
KO OQLC.KEDC #U +PVGIGT
KO OKGPPC #U 5VTKPI
KO OKGPPC #U +PVGIGT
OQLC.KEDC
YTCEC
OQLC.KEDC
YTCEC
1RVKQP 5VTKEV 1P
+PKELWLG FYKG OKGPPG TÎ P[EJ V[RÎY
OKGPPC
OKGPPC
OQLC.KEDC OKGPPC
OKGPPC )GPGTWLG D æF RQFECU MQORKNCELK
1RVKQP 5VTKEV 1HH
OKGPPC
OKGPPC
OQLC.KEDC OKGPPC
OKGPPC
28. += — operator 71
YTCEC
UWOú C EWEJ G OKGPPGL OKGPPC QUVC RTGMUVC EQP[ PC
YCTVQ è PWOGT[EPæ 0KG LGUV RQNGECP[O TQYKæCPKGO W [EKG 1RVKQP 5VTKEV 1HH
CD[ WOQ NKYKè RTGRTQYCFCPKG VCMKEJ QRGTCELK
Zobacz tak e:
Operator ;
Operatory sklejania;
Operatory arytmetyczne;
Podział operatorów ze względu na funkcjonalność;
Priorytet operatorów w języku Visual Basic.
+= — operator
Dodaje wartość wyra enia do wartości zmiennej, a wynik przypisuje tej zmiennej. Do-
kleja tak e wyra enie w postaci łańcucha do zmiennej typu String i przypisuje wynik
do zmiennej.
OKGPPC
Y[TC GPKG
Części
OKGPPC
Wymagana. Dowolna zmienna numeryczna lub łańcuch.
Y[TC GPKG
Wymagana. Dowolne wyra enie numeryczne lub łańcuch.
Komentarze
Jeśli środowisko kompilacji wymusza semantykę restrykcyjną, to taka instrukcja nie-
jawnie wykona rozszerzenie (a nie zwę enie) konwersji. Je eli dozwolona jest seman-
tyka liberalna, operator spowoduje wykonanie wielu ró nych konwersji danych nume-
rycznych i łańcuchowych. Przekształcenia są takie same jak przekształcenia dokonywane
przez operator +. Więcej informacji na temat dokonywanych konwersji mo na znaleźć
w podrozdziale — Operator +. Chcąc bli ej poznać zagadnienie semantyki liberalnej
oraz restrykcyjnej, nale y przeczytać podrozdział — Polecenie Option Strict.
Przykład
Poni sze przykłady u ywają operatora +=, aby połączyć wartość jednej zmiennej
z wartością drugiej zmiennej. W pierwszym przykładzie operator += u yty jest wraz ze
zmiennymi numerycznymi w celu dodania ich do siebie. W drugim przykładzie opera-
tor wykorzystano do sklejenia wartości dwóch łańcuchów. W obu przypadkach wynik
przypisywany jest do pierwszej zmiennej.
KO OKGPPC #U +PVGIGT
KO OKGPPC #U +PVGIGT
OKGPPC
OKGPPC 9CTVQ è OKGPPGL OKGPPC Y[PQUK VGTC
29. 72 – — operator
6GP RT[M CF Y[MQT[UVWLG OKGPPG Y RQUVCEK C EWEJÎY
KO OKGPPC #U 5VTKPI
KO OKGPPC #U 5VTKPI
OKGPPC
OKGPPC 9CTVQ è OKGPPGL OKGPPC Y[PQUK VGTC
Zobacz tak e:
Operator +;
Operatory arytmetyczne;
Operatory sklejania;
Priorytet operatorów w języku Visual Basic;
Podział operatorów ze względu na funkcjonalność.
– — operator
Oblicza ró nicę dwóch liczb lub sygnalizuje wartość ujemną wyra enia numerycznego.
I. składnia
NKEDC NKEDC
II. składnia
NKEDC
Części
NKEDC
Wymagana. Dowolne wyra enie numeryczne.
NKEDC
Wymagana. Dowolne wyra enie numeryczne.
NKEDC
Wymagana. Dowolne wyra enie numeryczne.
Wynik
Wynikiem będzie ró nica pomiędzy wyra eniami NKEDC i NKEDC.
Obsługiwane typy
Byte, Short, Integer, Long, Single, Double, Decimal
30. –= — operator 73
Komentarze
W pierwszej składni operator – jest arytmetycznym operatorem odejmowania, u ywa-
nym w celu obliczenia ró nicy dwóch liczb. W drugiej składni operator – jest jednoar-
gumentowym operatorem zmiany znaku wartości wyra enia. Typ danych wyniku jest
taki sam jak typ danych operandu o większym zakresie. Kolejność zakresów od naj-
mniejszych do największych jest następująca: Byte, Short, Integer, Long, Single, Do-
uble i Decimal.
Jeśli wyra enie ma wartość Nothing, to jego wartość traktowana jest jako zero.
Przykład
Poni szy przykład wykorzystuje operator – do obliczenia i zwrócenia ró nicy dwóch
liczb.
KO OQL9[PKM #U QWDNG
OQL9[PKM YTCEC
OQL9[PKM YTCEC
Zobacz tak e:
Operator –=;
Operatory arytmetyczne;
Priorytet operatorów w języku Visual Basic;
Podział operatorów ze względu na funkcjonalność.
–= — operator
Odejmuje wartość wyra enia od wartości zmiennej, a wynik przypisuje zmiennej.
OKGPPC Y[TC GPKG
Części
OKGPPC
Wymagana. Dowolna zmienna numeryczna.
Y[TC GPKG
Wymagana. Dowolne wyra enie numeryczne.
Przykład
Poni szy przykład stosuje operator –= w celu odjęcia zmiennej, która jest liczbą całko-
witą, od innej zmiennej i przypisania wyniku do pierwszej zmiennej.
KO OKGPPC #U +PVGIGT
KO OKGPPC #U +PVGIGT
OKGPPC OKGPPC 9CTVQ è OKGPPGL OKGPPC Y[PQUK VGTC
31. 74 / — operator
Zobacz tak e:
Operator =;
Operator ∗=;
Operator +=;
Operator –;
Operator /=;
Operator =;
Operator =;
Operator ^=.
/ — operator
Oblicza iloraz dwóch liczb i zwraca wynik jako liczbę zmiennoprzecinkową.
NKEDC NKEDC
Części
Y[PKM
Wymagana. Dowolna zmienna numeryczna.
NKEDC
Wymagana. Dowolne wyra enie numeryczne.
NKEDC
Wymagana. Dowolne wyra enie numeryczne.
Wynik
Wynik jest ilorazem wartości wyra enia NKEDC przez wartość wyra enia NKEDC
Obsługiwane typy
Byte, Short, Integer, Long, Single, Double, Decimal
Komentarze
Wynik jest zazwyczaj typu Double. W tabeli na następnej stronie wymienione zostały
wyjątki od tej reguły.
Jeśli wyra enie ma wartość Nothing lub jest puste, to jego wartość traktowana jest jako
zero.
32. /= — operator 75
Jeśli... Wtedy typ wyniku to...
Jedno wyra enie ma typ Single, Single.
a typ drugiego jest inny ni Double
Obydwa wyra enia mają typ Decimal Decimal. Jeśli wyra enie typu Decimal zostanie
podzielone przez 0, zostanie zgłoszony wyjątek
DividedbyZero. Wyjątek pojawia się jedynie
przy wyra eniach typu Decimal.
Przykład
Przykład wykorzystuje operator / przy wykonywaniu dzielenia zmiennopozycyjnego.
Wynik jest ilorazem dwóch operandów.
KO /QLC9CTVQUE #U QWDNG
/QLC9CTVQUE YTCEC
/QLC9CTVQUE YTCEC
Zobacz tak e:
Operator =;
Operator ;
Operatory arytmetyczne;
Priorytet operatorów w języku Visual Basic;
Podział operatorów ze względu na funkcjonalność.
/= — operator
Dzieli wartość zmiennej przez wartość wyra enia, a wynik przypisuje zmiennej.
OKGPPC Y[TC GPKG
Części
OKGPPC
Wymagana. Dowolna zmienna numeryczna.
Y[TC GPKG
Wymagana. Dowolne wyra enie numeryczne.
Komentarze
Instrukcja ta przypisuje typ Double zmiennej znajdującej się po lewej stronie operatora.
Jeśli polecenie Option Strict ma wartość On, zmienna musi przyjąć typ Double. Jeśli
polecenie Option Strict jest wyłączone (Off), zostanie wykonana niejawna konwersja,
a wartość wynikowa będzie przypisana do zmiennej, ale mo liwe jest wystąpienie błędu
w czasie wykonania programu. Więcej informacji mo na znaleźć w podrozdziale —
Polecenie Option Strict.
33. 76 = — operator
Przykład
W poni szym przykładzie operator /= został wykorzystany do podzielenia jednej
zmiennej, która jest liczbą całkowitą, przez inną zmienną, a tak e do przypisania wyniku
do pierwszej zmiennej.
KO OKGPPC #U +PVGIGT
KO OKGPPC #U +PVGIGT
OKGPPC OKGPPC 9CTVQ è OKGPPGL OKGPPC Y[PQUK
Zobacz tak e:
Operator =;
Operator ∗=;
Operator +=;
Operator –=;
Operator /;
Operator =;
Operator =;
Operator ^=.
= — operator
Wykorzystywany do przypisywania wartości do zmiennej lub do właściwości.
OKGPPC YCTVQ è
Części
OKGPPC
Dowolna zmienna lub dowolna zapisywalna właściwość.
YCTVQ è
Dowolny literał, stała lub wyra enie.
Komentarze
Nazwa po lewej stronie znaku równości mo e być zwykłą zmienną skalarną, właściwo-
ścią lub elementem tablicy. Po lewej stronie znaku równości mogą się znaleźć wyłącz-
nie właściwości zapisywalne w czasie wykonywania programu. Wartość po prawej stro-
nie znaku równości jest przypisywana zmiennej znajdującej się po lewej stronie znaku
równości.
34. — operator 77
Przykład
Przykład prezentuje u ycie operatora przypisania. Wartość po prawej stronie wyra enia
przypisywana jest do zmiennej znajdującej się po lewej stronie wyra enia.
KO OQLC.KEDC CU +PVGIGT
KO OQL.CPEWEJ CU 5VTKPI
KO OQL2T[EKUM CU 5[UVGO9KPFQYU(QTOU$WVVQP
KO OQL1DKGMV CU 1DLGEV
OQLC.KEDC
OQL.CPEWEJ 1VQ RT[M CF UVC GL C EWEJQYGL
OQL2T[EKUM 0GY 5[UVGO9KPFQYU(QTOU$WVVQP
OQL1DKGMV OQLC.KEDC
OQL1DKGMV OQL.CPEWEJ
OQL1DKGMV OQL2T[EKUM
Zobacz tak e:
Operator =;
Operator ∗=;
Operator +=;
Operator –=;
Operator /=;
Operator =;
Operator ^=.
— operator
Dzieli dwie liczby przez siebie i zwraca wynik będący liczbą całkowitą.
NKEDC NKEDC
Części
NKEDC
Wymagana. Dowolne wyra enie numeryczne będące liczbą całkowitą.
NKEDC
Wymagana. Dowolne wyra enie numeryczne będące liczbą całkowitą.
Obsługiwane typy
Byte, Short, Integer lub Long
Wynik
Wynik jest ilorazem wartości wyra enia NKEDC przez wartość wyra enia NKEDC
z pominięciem reszty z dzielenia.
35. 78 = — operator
Komentarze
Jeśli poleceniu Option Strict przypisana zostanie wartość Off, wszelkie wyra enia nu-
meryczne zmiennoprzecinkowe będą konwertowane na wyra enia typów Byte, Short,
Integer lub Long, zanim zostanie wykonane dzielenie. Jeśli poleceniu Option Strict
przypisana zostanie wartość On, to w czasie kompilacji zgłoszony zostanie błąd.
Typem danych wyniku będzie: Byte, Short, Integer lub Long. Dowolna reszta z dzie-
lenia zostanie pominięta.
Jeśli któreś z wyra eń zostanie określone jako Nothing lub Empty, to traktowane bę-
dzie jako zero. Próba wykonania dzielenia przez zero doprowadza do zgłoszenia wyjąt-
ku DividedByZeroException.
Przykład
W przykładzie skorzystano z operatora do wykonania dzielenia. Wynik jest liczbą cał-
kowitą, przedstawiającą iloraz dwóch operandów.
KO OQLC9CTVQUE #U +PVGIGT
OQLC9CTVQUE YTCEC
OQLC9CTVQUE YTCEC
OQLC9CTVQUE YTCEC
OQLC9CTVQUE YTCEC
Zobacz tak e:
Operator =;
Operator /;
Operatory arytmetyczne;
Priorytet operatorów w języku Visual Basic;
Podział operatorów ze względu na funkcjonalność.
= — operator
Dzieli wartość zmiennej przez wartość wyra enia, a skrócony do liczby całkowitej wy-
nik przypisuje do zmiennej.
OKGPPC Y[TC GPKG
Części
OKGPPC
Wymagana. Dowolna zmienna numeryczna.
Y[TC GPKG
Wymagana. Dowolne wyra enie numeryczne.
36. ^ — operator 79
Komentarze
Więcej informacji na temat dzielenia mo na znaleźć w podrozdziale — Operator .
Przykład
W poni szym przykładzie operator = posłu ył do podzielenia zmiennej o wartości cał-
kowitej przez drugą zmienną i przypisania do pierwszej zmiennej wyniku w postaci
liczby całkowitej.
KO OKGPPC #U +PVGIGT
KO OKGPPC #U +PVGIGT
OKGPPC OKGPPC 9CTVQ è OKGPPGL OKGPPC Y[PQUK VGTC
Zobacz tak e:
Operator =;
Operator ∗=;
Operator +=;
Operator –=;
Operator /=;
Operator =;
Operator ;
Operator ^=.
^ — operator
Podnosi liczbę do potęgi wyra onej drugą liczbą.
NKEDC @ Y[M CFPKM
Części
NKEDC
Wymagana. Dowolne wyra enie numeryczne.
Y[M CFPKM
Wymagana. Dowolne wyra enie numeryczne.
Wynik
Wartość wyniku jest wartość wyra enia NKEDC podniesioną do potęgi wyra oną warto-
ścią wyra enia Y[M CFPKM.