C# Ghidul începătorului Informatica

Table of contents :
Cuprins
......Page 3
1. Fundamentele limbajului C#
......Page 9
2. Prezentarea tipurilor de date şi operatorilor......Page 47
3. Instrucţiuni de control......Page 88
4. Prezentarea claselor, obiectelor şi metodelor......Page 123
5. Mai multe despre tipurile de date şi operatori......Page 158
6. O privire mai detaliată asupra metodelor şi claselor......Page 198
7. Supraîncărcarea operatorilor, indexări şi proprietăţi......Page 243
8. Moştenirea......Page 279
9. Interfeţe, structuri şi enumerări......Page 325
10. Tratarea excepţiilor......Page 351
11. Operaţii de intrare-ieşire......Page 380
12. Delegări, evenimente, spaţii de nwne şi subiecte avansate......Page 418
A. Răspunsurile testelor de verificare a cunoştinţelor......Page 466
Index......Page 492

Citation preview

Cuprins

Despre autor ..................................................... VI Prefaţă

......................................................... VII

1

Fundamentele limbajului C# ...................................... 1

2

Prezentarea tipurilor de date

3

Instructiuni de control ...................................... 80

4

Prezentarea claselor, obiectelor

5

Mai multe despre tipurile de date

6

O privire mai

7

Supraîncărcarea

8

Moştenirea

9

Interfeţe,

şi

'

detaliată

operatorilor ......................... 39

şi

metodelor ...................... 115 şi

operatori ..................... 150

asupra metodelor

operatorilor,

şi

claselor .....•........... 190

indexări şi proprietăţi

.................. 235

....._.............................. -........... 271

structuri

şi enumerări

............................... 317

10

Tratarea

excepţiilor ...................................•....

11

Operaţii

de

12

Delegări,

A

intrare-ieşire

evenimente,

Răspunsurile

343

........................................ 372

spaţii

de nwne

testelor de verificare a

şi

subiecte avansate ............... 410

cunoştinţelor ....................

458

Index ...................................................... 484

Index

Simboluri

/* */, 19 1/,19

&

operator cu pointeri, 448 ŞI logic, 62-63, 66-67 ŞI pe bip, 177-179 && (ŞI scurtcircuitat) 75, 64-65 66-67

*

,

operator cu pointeri, 448-449 operator de inmultire 60-61 @- cuvinte-cheie c~liflcate, 37 @pentru literali "copie la indigo" 54 1

,

SAU logic, 62-63, 66-67 SAU pe biti, 177-180 1 1 (SAU scur~circuitat) 64, 66-67, 75 [ ] , 19-20, 32-33, 48, 125-127

" SAU exclusiv logic, 62-63 SAU exclusiv pe biti , ' 177-178 ' 180-181 { }, 19-20, 32-33, 48, 125-127 =, 24, 68 (operator relafional), 29, 62-63, 248-249, 312 asupra stringurilor, 173 !, 62-63 !=, 29, 62-63, 248-249 asupra stringurilor, 173 /, 60-61

==

< operator de redirectare a intrării 390-391 , operator rela~ional, 29, 62-63, 248 >, 178, 182-183 >=, 29, 62-63, 248 ; (punct şi wirg-ulă), 21, 33 NON pe bi)i, 177-178,181 utilizat de către destructori, 144

·---·-·-·~--------·-·--·---·------·-In_~_e_:.-~-~~~ BinaryWriter, clasa, 377, 394 A metode de scriere, tabel, 394 Abs( ), 215 abstract, modificatorul, 300, 307, 309, 311 Acces aleator, fişiere, operatii de intrare-ieşire, 397-400 acces, specificatori, 19, 116, 190-191, 452-453 Acces ori in indexări, 250-251, 254 în proprietăp, 258-259 apelarea dinamică a metodelor, 300 ApplicationException, 344-345, 360 ArgumentException, 381 ArgumentNullException, 381 ArrayTypeMismatchException, 360 as, operatorul, 452-453 ASCII, setul de caractere, 45, 178-179 Ascunderea numelor în blocurile de cod, 60 şi moştenirea, 285-287, 334 Atribuire, operatori 24,68 aritmetici şi logici (op=), 68-69 la nivel de bip, 184 şi supraîncă.rcarea operatorilor, 249-250 Atribuiri conversii de tip la atrib~e, 69-70 şi variabile referinţă, 122-123

=.

B base, cuvântul cheie pentru accesul la membrii ascunşi din clasa de bază, 279, 286-287 pentru apelul constructorului clasei de bază, 279-284 Bibliotecă, clasele arhitecturii .NET, 7, 19, 37, 422 BinaryReader, clasa, 377, 394-395 metode de citire, tabel, 395

Blocuri de cod, 32-33, 56 bool, tipul valoric, 40, 46-47 şi operatorii relaponali, 63 break, instructiunea, 80, 86, 88, 104-106 Bucle criterii de selecpe, 100 do-while, 80, 100-102 for. Vezi for, bucla foreach, 80, 169-171 imbricate, 112-113 infinite, 96, 1OS while, 80, 98-100 BufferedStream, clasa, 375 byte, tipul valoric, 40-43, 51 Bytecode, 4-5, 7

c C# ca limbaj orientat pe componente, 5-6 ca limbaj puternic tipizat, 40, 295 compilarea programelor, 7-8 cuvintele cheie, 36-37 istoricul, 1-2, 5 şi arhitecnua .NET, 6, 9 şi Java, 1-2, 5-6

C++ când se poate utiliza în locul C#, 447 istoric, 3 şi arhitectura .NET, 9 C, istoricul limbajului, 2-3 C, specificatorul de format, 48 CanRead, proprietatea, 375 CanSeek, proprietatea, 375 CanWrite, proprietatea, 375 Caractere, 45-46 codificarea, 390 constante (literali), 45, 51 introducerea de la tastatură, 80-81 secvenţe escape, 52-53

case, instructiunea, 86, 88-89 Casr, 70-72, 74 şi operatorii de conversie explicită, 433-438 utilizarea ca operator, 452-453 catch, instructiunile, 345-348 cu parametru, 358-360 pentru interceptarea tumror excepfiilor, 352 şi interceptarea excepfiilor derivate, 362-364 şi relansarea excepţiilor, 355-356 utilizarea catch-urilor multiple, 351-352 char, tipul valoric, 40-41, 45 checked, instrucriunea, 367-370 Clase, 115-120 abstracte, 307-310, 317-318 bine proiectate, 117-118, 133-134 constructori. Vezi Constructoei de bază, definiţie, 271-272 definiţie, 7, 11 derivate, definipe, 271-272 din biblioteca .NET, 7, 19, 37, 422 forma generală, 116-117, 273 membri. Vezi Membri, ai claselor nume şi numele fişierului program, 18 sealed, 311 şi interfe1e, 317-323 class, cuvântul cheie, 19, 116 Close(),374, 376,382,384,394 Cod blocuri, 32-33, 56 inaccesibil, 129 nesigur, 446-450 seqiuni critice, 454 rratat.. şi netratat, 8, 446-447 cod de dispersie, 312 Colectarea spapului neutilizat, 143-144, 211 şi cuvântul cheie fixed, 450-451 şi tablourile, 150 Colecp.i; 169 Comentarii, 18-21

CompareTo( ), 173, 404 Compilare conditionată, 438 Compilator C# în linie de comandă, 14

JIT, 7-13 Complement fafă de unu (NON unar), operatorul(-), 177-178, 181 Complementul Cafă de doi, 41 Componente şi limbajul C#, 5-6 Conditiona!, atribut predefinit, 444-445 Console, clasa, 20-21, 377, 380-381 Console.Error, 373, 377, 379-380 Console.In, 373, 378 Console.Out, 373, 377, 379-380 const, modificatorul, 456 Constante, 51 întregi cu nume, 317-318,339 Constante caracter cu backslash, 52-53 Constructorl, 138-142 ordinea apelului în ierarhiile de clase, 272-300 supraîncărcarea, 217-225 şi moştenirea, 279-285, 297-299 utilizarea lui base la apelul constructorului clasei de bază, 279-284 continue, instrucriunea, 80, 107 Control, instrucpuni. Vezi Instrucriuni de control Controlul accesului, 191-197 Conversie, operatori, 433-437 implici~ sau explicip, 437 Copy( ), 173 Cozi, 165 .cs, extensia, 18 csc.exe, compilatorul în linia de comandă,14

Cuvinte cheie în C#, 36-37

D Date, tipuri de, 24 cast. Vezi Cast conversia automată, 69-70, 213-214

~

Index conversia automată, 69-70, 213-214 promovarea tipurilor, 73-75 referinţă, 40, 122 tipuri clasă, 118-119, 122 valorice (simple). Vezt· Valorice, tipuri Vezi ti Tip decimal, tipul valoric, 40, 43-44 literali, 51 Decrementare, operatorul (- -), 31, 61-62, 239-240, 242 default, instrucfiunea, 86, 88 #define, directiva, 438-439 delegate, cuvântul cheie, 430 Delegări, 430-436 declararea, 430-431 instanţierea, 413 multicasting, 414-417 Deplasare, operatorii la nivel de biti, ' 178, 182-183 Destructori, 144 DirectoryNotFoundException, 381 Dispose( ), 456 DivideByZeroException, 344, 360 do-while, bucla, 80, 100-102 Domenii de valabilitate, 57-60 double, tipul valoric, 25-26, 43

E #elif, directiva, 441-442 #else, directiva, 440-441 #endif, directiva, 439-440 #endregion, directiva, 443 #error, directiva, 443 else, 81-85 Enumerări, 317-318, 339-341 Equals( ), 249, 312-313, 404 Erori de sintnxă, 22

la

execuţie,

344 108 Evenimente, 417-421 multicasting, 419-422 Etichetă,

event, cuvintul cheie, 417 Exception, clasa, 344, 358-360 Exceptii standard predefinite, 344, 360-361 explicit, cuvântul cheie, 434 Expresii, 73-75 Extinderea metodelor, 300-306 şi apelul dinamic, 300

F false, 46, 249 FileAccess, enumerarea, 382 FileMode, enumerarea, 380-381 FileNotFoundException, 381 FileStream, clasa, 375, 380-381, 386 Finalize( ), 312 finally, blocul, 344-345, 357-358 Fire de execufie multiple, 454 Fi~;iere

indicatorul de intrări-ieşiri.

poziţie,

397-398

V ezi Intrări-ieşiri,

fişiere

fixed, cuvântul cheie, 450-451 float, tipul valoric, 24-26, 43 literali, 51 Flush(),374, 376,384,394 for, bucla, 30-32, 80, 92-98, 100 , variante, 94-99 foreach, bucla, 80, 169-171 FormatException, 401 Frank, Ed, 3-4 Funcfie, 11

G get, accesorul la indexări, 250-251, 254 la proprietăp, 258-259, 261-262 GetHashCode( ), 249, 312-313 GetType( ), 312 Gosling, James, 3-5 goto, 80, 107-108 Grup, 190-191, 454

487

488

1

C#

H heap, zona din memorie, 455-456 Hejlsberg, Anders, 5-6 hexazecimal, literali, 52 Hoare, C.A.R, 231

Identificarea tipurilor la execu~ie, 451-452 ldentificatori, 36-37 ierarhic, clasificare, 12 moştenire, 271-272 #if, directiva, 439-442 if, instructiunea, 28-29, 81-85 imbricat, 83-84 if-else-if, scara, 84-85 şi instrucpunea switch, 89-90 implicit, cuvântul cheie, 434 Incrementare, operatorul(++), 31, 61-62, 239-240, 242 Indentare, stilul, 34 Indexări, 250-257 accesibile numai la citire sau numai la scriere, 254 în interfeţe, 331-333 multidimensionale, 255-257 supraîncărcarea, 258 unidimensionale, 250-255 virtuale, 302 lndexOf( ), 173 IndexOutOfRangeException, 345, 360 Initializarea obiectelor ' cu alt obiect, 218-219 de către constructori, 138-142 Instanfă, a unei clase, 115-116 Vezi ri Obiecte Instanfă, variabile accesul la, 118-119,126 ascunderea, 148 declararea, 118

definipa, 11, 115-116 this, utiliz:~rca pentru itcccsulla variabilele ascunse, 148 unice pe instanţă, 118-121 Instructiuni, 20-21, 33-34 vide, 97 lnstrucpuni de control, 28 de iterape, 80,92-105, 169-171 de salt, 80, 104-112, 126, 127 de selecpe, 81-93 int, tipul valoric, 24-25, 40-42 interface, cuvântul cheie, 317-318 Interfete, 317-341 forma generală, 319 implementarea, 319-323 implementarea explicită, 334-337 indexări, 331-333 proprietăp, 329-330 şi moştenirea, 333-334 variabile referinţă, 322-324 internal, specificatorul de acces, 190-191, 454 Internet, 1-4 şi portabilitatea, 4-5 interoperabilitatea limbajelor diferite, 5 Intrare-ie~;ire, 372-409 la consolă, 378-380 redirectarea, 390-393 stream-uri. Vezi Stream-uri lntrare-ie§ire, fi§iere, 380-399 accesul aleator, 397-400 orientate pe caracter, 386-388 orientate pe octet, 380-385 şi date binare, 394-397 introducerea datelor de la consolă, 80-81 InvalidCastException, 360 IOException, 375 is, operatorul, 451-452

Index

Î Încapsulare, 10-11, 19, 57, 133-134, 190-191 Întregi, 26, 40-42 literali, 51 promovarea la, 73

J Java facilităp lipsă, 5 istoricul limbajului, 4 şi C#, 1-2, 5-6 Java, maşina virtuală (MVJ), 4-5 JIT, compilator, 7, 14

L LastlndexOf( ), 173 Length, proprietatea la stringuri, 173 la tablouri, 163-165,259-261 obiectelor Stream, 375 Limbajul intermediar Microsoft (MSIL), 7-8, 14 #line, directiva, 443 Literali, 51-54 lock, 454 Logici, operatori, 62-67 long, tipul valoric, 41-42 literali, 51

M Main( ), 19-20, 22, 118, 123-124, 223-225, 228 şi parametrii în linia de comandă, 223-225 Math, clasa, 43, 43 MemberwiseCloneO, 312 · Membri, ai claselor, 11, 115-116 accesul şi moştenirea, 274-275, 277-278 controlul accesului la, 116, 191-197 utilizarea operatorului punct pentru acces, 118-119

489

Memorie, alocarea utilizarea lui new, 121-122, 142, 151 utilizarea lui stackalloc, 455-456 MemoryStream, clasa, 375, 409 Message, proprietatea clasei Exception, 359-360 Metadate, 8 Metode, 11, 123-132 abstracte, 307-31 O apelarea dinamică, 300 apelul, 126 condiponale, 444 domeniul de valabilitate definit, 57 extinderea. Vezi Extinderea, metodelor forma generală, 123-124 întoarcerea mai multor valori, 200-201, 203-204 întoarcerea obiectelor din, 209-210 întoarcerea valorilor din, 126-129 operator, 236, 243-248 parametri, 123-124, 130-133 recursive, 226-228 signamra, 216 statice, 229-231 supraîncărcarea, 211-215 şi delegările, 430-436 şi interfetele, 317-319 hansmit~rea obiectelor, 197-200 utilizarea lui base pentru accesul la metodele ascunse, 286-288 virtuale, 300-306 Modulo, operatorul(%), 60-61 Moştenire, 10, 12, 271-315 ascunderea numelor, 285-287 multinivel, 291-298 nopuni de bază, 271-276 sealed, utilizarea pentru împiedicarea moştenirii, 311 şi constructorii, 279-285, 294-295, 297-299 şi interfeţele, 333-334 Motorul comun de programare (MCP), 7-8, 14, 446-447

preceden~ă,

Multicasting şi delegările,

414-417 şi evenimentele, 419-422 Multiprogramare, 454

N namespace, cuvântul cheie, 422 N aughton, Patrick, 3-4 Negative, numere, reprezentarea, 182 .NET, arhitectura, 1-2, 6 biblioteca de clase, 7, 19, 37, 422 şi limbajul C++, 9 Netratat, codul, 8, 446-447 new, 121-122, 142-143, 151, 154 pentru ascunderea membrilor clasei de bază, 285, 287-288, 334 NON, operatorul unar la nivel de bip (-), 177-178, 181 unar logic (!), 62-63 NotSupportedException, 375

o Oak, 3-4 Obiecte, 11, 115-116, 119 crearea, 118-119,121-122 întoarcerea, 209-21 O transmiterea către metode, 197-200 abject, dasa, 312-315 metodele definite, 312 referin1e către tipurile valorice, 313-315 - .. Obsolete, atributul predefinit, 445-446 Octal, 53 operator, cuvântul cheie, 236 Operatori aritmetici, 24-25, 60-63 de arribuir~. 24, 68-69, 249 de conversie. Vezi Conversie, operatori la nivel de bip, 177-187 logici, 62-67

tabela de, 72 29, 62-64, 247-248 şi parantezele, 75-76 ternar, 186-188 Operatori aritmetici, 24-25, 60-63 Operatori la nivel de bi~i, 177-187 Orientată pe obiecte, programarea (POO), 3, 9-13 out, modificator de parametri, 200-201, 203-208, 236, 255, 261-262 OutOfMemoryException, 360 · OverflowException, 360 şi checked/unchecked, 367-370 override, cuvântul cheie, 300, 303 rela~ionali,

p Parametri, 20-21, 123-124, 130-133 în linia de comandă, 223-225 modificatori, 200-208 şi constructorii supraîncărcap, 218 şi metodele supraîncărcate, 211, 213-214 transmiterea, 198-200 utilizarea unui număr variabil de parametri, 206-208 params, modificator de parametri, 206-208 Parse( ), metodele, 401-404 Peek(),376 Pointeri, 447-450 Polimorfism, 11-12 şi interfeţele, 317-318 şi metodele extinse, la execupe, 300, 303 şi metodele supraîncărcate, 211, 215 Portabilitate, 4-7, 41 Position, proprietatea, 375 Pow( ), 76 Preprocesor, directivele, 438-444 private, specificatorul de acces, 19, 191-197 şi moştenirea, 274-275

Index

491

--------------------·---------------------------------·-·---4~Programarea în limbaj mixt, 4-5 orientată pe obiecte. Vezi Orientată pe obiecte, programarea (POO) strucmrată, 3, 10 Proprietăfi, 258-261 accesibile numai la citire sau numai la scriere, crearea, 259 restricfii asupra, 261-262 şi interfe1ele, 329-330 virtuale, 302 protected, specificatorul de acces, 190-191, 275, 277-278 public, specificatorul de acces, 19, 191-197 Punct, operatorul(.), 118-119, 228-229

R Read( ), 80-81, 375-376, 378, 382, 395 ReadBlock( ), 376 ReadByte( ), 375, 382, 395 ReadUne(), 376, 378-379 readonly, câmpurile, 455 ReadToEnd( ), 376 Recursivitate, 226-228 ref, modificator de parametri, 200-203, , 236, 255, 261-262 ReferenceEquals( ), 312 Referinfă, variabilele ' atribuirea referin~elor de tipul claselor derivate instan~elor clasei de bază, 296-309 declararea, 121 modiftcarea de către ref şi out, 205 şi atribuirea, 122-123 #region, directiva, 443 Relaţionali, operatorii, 29, 62-64, 24"7-248 Replace( ), 412 return, instructiunea, 80, 126, 127 Ritchie, Dennis, 2

s

SAU exclusiv (XOR), operatorul ("•') la nivel de bi~i, 177-178, 180-181 logic, 62-63 SAU, operator scurtcircuitat ( 1 1), 62-67 SAU, operatorul ( 1) la nivel de bi1i, 177-180 logic, 62-63, 66-67 sbyte, tipul valoric, 40-43, 51 sealed, cuvântul cheie, 311 Securitate, 8 SecurityException, 381 Seek(), 375,397-398,409 SeekOrigin, enumerarea, 398 Selecfie, instructiunile, 81-93 semn, bitul de, 41 set, accesorul la indexări, 250-251, 254 la proprietăţi, 258-259 SetError( ), 391 Setln( ), 391 SetOut( ), 391 Sheridan, Mike, 3-4 short, tipul valoric, 41, 43, 51 Signatura unei metode, 216 Sintaxă, erori de, 22-23 sizeof, operatorul, 455 Sortare rapidă, algoritmul, 228, 231-234 sortarea prin metoda bulelor, 155-157 Spafii de nume, 19, 22-23, 422-435 caracteristica aditivă, 428-429 declararea, 423-425 imbricate, 429-430 implicit, 430 Specificarea comună a limbajelor, 8 Sqrt( ), 43, 229 stackalloc, 455-456 StackOverflowException, 360 StackTrace, proprietatea clasei Exception, 359-360

492

1

C#

static, 20-21, 228-230 definiiie, 11, 164 Stream, clasa, 374-375 metode, tabelul, 374-375 proprietăp, tabelul, 375 Stream-uri binare, 377 clase care împachetează stream-urile caracter, 375-377 clase de stream-uri octet, 375 definitie, 3 72 ' octet, '380-381 predefinite, 375 redirectarea stream-urilor standard, 390-393 stocate în memorie, 409 StreamReader, clasa, 377; 386, 388-389 şi codificarea caracterelor, 390 StreamWriter, clasa, 377, 386-388 şi codificarea caracterelor, 390 string, clasa, 172-177 metodele, 172-17 5 StringBuilder, clasa, 177 StringReader, clasa, 377, 409 Stringuri ca obiecte, 172 construcpa, 172 imuabilitatea, 175-176 indexarea, 173 Length, proprietatea, 173 literali, 53-55, 172 numerice, conversia, 400-404 tablouri de, 17 5 StringWriter, clasa, 377, 409 Stroustrup, Bjarne, 3-4, 4-5 struct, cuvintul cheie, 337 Structuri, 317-318, 337-339 numerice .NET, 400 Subclasă, 277 Substring( ), 175-176 Sun Microsystems, 3-4 Superclasă, 277

Supraîncărcare a

Stivă,

constructorilor, 217-225 index!irilor, 258 metodelor, 211-215 operatorilor. Vezi Operator, supraîncărcarea

Supraîncărcarea

operatorilor, 235-250 binari, 236-238 relaponali, 247-248 restricpi, 249-250 şi supraîncărcarea metodelor operator, 243-248 unari, 236, 239-243 switch, instrucpunea, 80, 85-92 regula interzicerii execupei în secvenţă, 88-90 System, spapul de nume, 19, 22-23, 422 System.Diagnostics; spatiul de nume, 444

System.Exception, clasa. Vezi . Exception, clasa System.IDisposable, interfaia, 456 System.IO, spafiul de nume, 373, 380-381, 422 SystemException, 344, 360

s• ŞI,

Operatorul logic (&), 62-63, 66-67 pe bip (&), 177-179 scurtcircuitat (&&), 62-67

T Tablouri, 150-170 cu stringuri, 175 de parametri params, 206-208 impiementate in C# prin obiecte, 150-151 inipalizarea, 153-154, 158-160 în scară, 160-162 margini, 154

---------------------------·-·------

multidimensionale, 157-160 proprietatea Length a tablourilor, 163-165 sortarea, 155-157 tablouri cu elemente de tip referintă '' 162-163 unidimensionale, 151-158 TargetSite, proprietatea clasei Exception, 359-360 Ternar, operatorul (?), 186-188 TextReader, clasa, 375-379, 386 metode ~eftnite, tabelul, 376 TextWriter, clasa, 375-377, 386 this, 146-148, 219, 229 throw, 344-345, 354-356 Tip cast. Vezi Casnui conversia automată, 69-70, 213-214 extensibilitatea, 236 identificarea la execu~e, 451-452 promovarea, 73-75 Tipuri, de date. Vezi Date, tipuri de verificarea, 40, 295 ToString( ), 312-313, 359-360 Transfer prin referintă • fortarea cu ajutorul lui ref, 200-203 sau transfer prin valoare, 198-200 Tratarea exceptiilor, 343-370 , bloc, forma generală, 344-345 şi crearea tipurilor exceppe derivate, 1 361-362, 370 şi excepţiile netratate, 348-349 Vezi fi catch, instructiuni Vezi fi try, blocurile ' Tratat, cod, 16, 446-447 true, 47, 249 True şi false in C#, 47 imbricate, 353-354 typeof, operatorul, 452-453

Index

493

u uint, tipul valoric, 41-43 literali, 51 ulong, tipul valoric, 41 literali, 51 unchecked, instructiunea, 367-370 , #undef, directiva, 442 Unicode, 45-46, 178-179, 386 unsafe, cuvântul cheie, utilizarea, 447, 449 ushort, tipul valoric, 41, 43, 51 . using directiva, 19, 22-23, 425-426 instrucpunea, 456 Utilizarea literelor mici şi majusculelor în C#, 22

V Valorice, tipuri, 40, 122 împachetarea şi despachetarea, 313-315 structurile numerice .NET, 400, 404 Variabile declararea, 24-25, 55, 58 definipa, 23 domeniul şi durata de viată 57-60 iniţializarea, 56-59 ' ' inipalizarea dinamică, 56 instantă. Vezi Instantă variabile locale: 55 ' ' nume, reguli de, 36-37 referinţă. Vezi Referinţă, variabile statice, 228-230 volatile, 456 vidă, instructiunea, 97 Virgulă mobilă, 24=26, 43 literali, 51 virtual, cuvântul cheie, 300, 303, 307 Virtuale, metode, 300-306 proprietăţi, 302

Visual C++, mediul integrat de dezvoltare \'Oid,,20-21, 123-124 metode, 126-127 volatile, modificatorul, 456

w #warning, directiva, 443 Warth, Chris, 3-4 while, bucla, 80, 98-100

"Windows, mediul, 5-6 Write( ), 24-25, 375-376, 380-381, 383, 394 WriteByte( ), 375 WriteLine( ), 20-21, 24-26, 313, 359, 376, 380-381 versiunea pentru afişarea formata tă, 48-49

X XML, comentapi, 20-21