Simboluri /* */, 19
&
1/,19
<
operator cu pointeri, 448
operator de redirectare a intrării
ŞI logic, 62-63, 66-67
390-391 ,
ŞI pe bip, 177-179
operator rela~ional, 29, 62-63, 248
&& (ŞI scurtcircuitat) 75, 64-65 66-67
* , <<, 178, 182-183
operator cu pointeri, 448-449
<=, 29, 62-63, 248
-, 60-61
operator de inmultire 60-61
->, 448
@- cuvinte-cheie c~liflcate, 37
--, 31, 61-62, 239-240, 242
@pentru literali "copie la indigo" 54
1 , %, 60-61
( ), 20, 70, 75-76, 142
SAU logic, 62-63, 66-67
. (operatorul punct), 118-119, 126, 228-229
SAU pe biti, 177-180
+
1 1 (SAU scur~circuitat) 64, 66-67, 75
operator de adunare, 60-61
[ ] , 19-20, 32-33, 48, 125-127
utilizat în WriteLineQ, 24
" ++, 31, 61-62, 239-240, 242
SAU exclusiv logic, 62-63
#, 49,438
SAU exclusiv pe biti , ' 177-178 ' ?, 186-188
180-181
>
{ }, 19-20, 32-33, 48, 125-127
operator de redirectare a ieşirii, 390-391
=, 24, 68
operator relaponal, 29, 62-63, 248
== (operator relafional), 29, 62-63,
>>, 178, 182-183
248-249, 312
>=, 29, 62-63, 248
asupra stringurilor, 173
; (punct şi wirg-ulă), 21, 33
!, 62-63
!=, 29, 62-63, 248-249
NON pe bi)i, 177-178,181
asupra stringurilor, 173
utilizat de către destructori, 144
/, 60-61
·---·-·-·~--------·-·--·---·------·-In_~_e_:.-~-~~~
BinaryWriter, clasa, 377, 394
A metode de scriere, tabel, 394
Abs( ), 215 Blocuri de cod, 32-33, 56
abstract, modificatorul, 300, 307, 309, bool, tipul valoric, 40, 46-47
311 şi operatorii relaponali, 63
Acces aleator, fişiere, operatii de break, instructiunea, 80, 86, 88,
intrare-ieşire, 397-400 104-106
acces, specificatori, 19, 116, 190-191, Bucle
452-453 criterii de selecpe, 100
Acces ori do-while, 80, 100-102
in indexări, 250-251, 254 for. Vezi for, bucla
în proprietăp, 258-259 foreach, 80, 169-171
apelarea dinamică a metodelor, 300 imbricate, 112-113
ApplicationException, 344-345, 360 infinite, 96, 1OS
ArgumentException, 381 while, 80, 98-100
ArgumentNullException, 381 BufferedStream, clasa, 375
ArrayTypeMismatchException, 360 byte, tipul valoric, 40-43, 51
as, operatorul, 452-453 Bytecode, 4-5, 7
ASCII, setul de caractere, 45, 178-179
Ascunderea numelor
în blocurile de cod, 60
c
şi moştenirea, 285-287, 334 C#
Atribuire, operatori ca limbaj orientat pe componente, 5-6
=. 24,68 ca limbaj puternic tipizat, 40, 295
aritmetici şi logici (op=), 68-69 compilarea programelor, 7-8
la nivel de bip, 184 cuvintele cheie, 36-37
şi supraîncă.rcarea operatorilor, istoricul, 1-2, 5
249-250 şi arhitecnua .NET, 6, 9
Atribuiri şi Java, 1-2, 5-6
conversii de tip la atrib~e, 69-70 C++
şi variabile referinţă, 122-123 când se poate utiliza în locul C#, 447
istoric, 3
şi arhitectura .NET, 9
B
C, istoricul limbajului, 2-3
base, cuvântul cheie C, specificatorul de format, 48
pentru accesul la membrii ascunşi din CanRead, proprietatea, 375
clasa de bază, 279, 286-287 CanSeek, proprietatea, 375
pentru apelul constructorului clasei de CanWrite, proprietatea, 375
bază, 279-284 Caractere, 45-46
Bibliotecă, clasele arhitecturii .NET, 7, codificarea, 390
19, 37, 422 constante (literali), 45, 51
BinaryReader, clasa, 377, 394-395 introducerea de la tastatură, 80-81
metode de citire, tabel, 395 secvenţe escape, 52-53
case, instructiunea, 86, 88-89 CompareTo( ), 173, 404
Casr, 70-72, 74 Compilare conditionată, 438
şi operatorii de conversie explicită, Compilator
433-438 C# în linie de comandă, 14
utilizarea ca operator, 452-453 JIT, 7-13
catch, instructiunile, 345-348 Complement fafă de unu (NON unar),
cu parametru, 358-360 operatorul(-), 177-178, 181
pentru interceptarea tumror excepfiilor, Complementul Cafă de doi, 41
352 Componente şi limbajul C#, 5-6
şi interceptarea excepfiilor derivate, Conditiona!, atribut predefinit, 444-445
362-364 Console, clasa, 20-21, 377, 380-381
şi relansarea excepţiilor, 355-356 Console.Error, 373, 377, 379-380
utilizarea catch-urilor multiple, Console.In, 373, 378
351-352 Console.Out, 373, 377, 379-380
char, tipul valoric, 40-41, 45 const, modificatorul, 456
checked, instrucriunea, 367-370 Constante, 51
Clase, 115-120 întregi cu nume, 317-318,339
abstracte, 307-310, 317-318 Constante caracter cu backslash, 52-53
bine proiectate, 117-118, 133-134 Constructorl, 138-142
constructori. Vezi Constructoei ordinea apelului în ierarhiile de clase,
de bază, definiţie, 271-272 272-300
definiţie, 7, 11 supraîncărcarea, 217-225
derivate, definipe, 271-272 şi moştenirea, 279-285, 297-299
din biblioteca .NET, 7, 19, 37, 422 utilizarea lui base la apelul
forma generală, 116-117, 273 constructorului clasei de bază, 279-284
membri. Vezi Membri, ai claselor continue, instrucriunea, 80, 107
nume şi numele fişierului program, 18 Control, instrucpuni. Vezi Instrucriuni
sealed, 311 de control
şi interfe1e, 317-323 Controlul accesului, 191-197
class, cuvântul cheie, 19, 116 Conversie, operatori, 433-437
Close(),374, 376,382,384,394 implici~ sau explicip, 437
Cod Copy( ), 173
blocuri, 32-33, 56 Cozi, 165
inaccesibil, 129 .cs, extensia, 18
nesigur, 446-450 csc.exe, compilatorul în linia de
seqiuni critice, 454 comandă,14
rratat.. şi netratat, 8, 446-447 Cuvinte cheie în C#, 36-37
cod de dispersie, 312
Colectarea spapului neutilizat, 143-144, 211 D
şi cuvântul cheie fixed, 450-451
şi tablourile, 150 Date, tipuri de, 24
Colecp.i; 169 cast. Vezi Cast
Comentarii, 18-21 conversia automată, 69-70, 213-214
Index ~ 487
Memorie, alocarea
Î utilizarea lui new, 121-122, 142, 151
Încapsulare, 10-11, 19, 57, 133-134, 190-191 utilizarea lui stackalloc, 455-456
Întregi, 26, 40-42 MemoryStream, clasa, 375, 409
literali, 51 Message, proprietatea clasei Exception,
promovarea la, 73 359-360
Metadate, 8
J Metode, 11, 123-132
abstracte, 307-31 O
Java
apelarea dinamică, 300
facilităp lipsă, 5
apelul, 126
istoricul limbajului, 4
condiponale, 444
şi C#, 1-2, 5-6
domeniul de valabilitate definit, 57
Java, maşina virtuală (MVJ), 4-5
extinderea. Vezi Extinderea, metodelor
JIT, compilator, 7, 14
forma generală, 123-124
întoarcerea mai multor valori, 200-201,
L 203-204
LastlndexOf( ), 173 întoarcerea obiectelor din, 209-210
Length, proprietatea întoarcerea valorilor din, 126-129
la stringuri, 173 operator, 236, 243-248
la tablouri, 163-165,259-261 parametri, 123-124, 130-133
obiectelor Stream, 375 recursive, 226-228
Limbajul intermediar Microsoft (MSIL), signamra, 216
7-8, 14 statice, 229-231
supraîncărcarea, 211-215
#line, directiva, 443
şi delegările, 430-436
Literali, 51-54
şi interfetele, 317-319
lock, 454
Logici, operatori, 62-67 hansmit~rea obiectelor, 197-200
long, tipul valoric, 41-42 utilizarea lui base pentru accesul la
literali, 51 metodele ascunse, 286-288
virtuale, 300-306
Modulo, operatorul(%), 60-61
M Moştenire, 10, 12, 271-315
Main( ), 19-20, 22, 118, 123-124, 223-225, ascunderea numelor, 285-287
228 multinivel, 291-298
şi parametrii în linia de comandă, 223-225 nopuni de bază, 271-276
Math, clasa, 43, 43 sealed, utilizarea pentru împiedicarea
MemberwiseCloneO, 312 · moştenirii, 311
Membri, ai claselor, 11, 115-116 şi constructorii, 279-285, 294-295,
accesul şi moştenirea, 274-275, 277-278 297-299
controlul accesului la, 116, 191-197 şi interfeţele, 333-334
utilizarea operatorului punct pentru Motorul comun de programare (MCP),
acces, 118-119 7-8, 14, 446-447
Multicasting preceden~ă, tabela de, 72
şi delegările,
414-417 rela~ionali,
29, 62-64, 247-248
şi evenimentele, 419-422 şi parantezele, 75-76
Multiprogramare, 454 ternar, 186-188
Operatori aritmetici, 24-25, 60-63
N Operatori la nivel de bi~i, 177-187
Orientată pe obiecte, programarea
namespace, cuvântul cheie, 422 (POO), 3, 9-13
N aughton, Patrick, 3-4 out, modificator de parametri, 200-201,
Negative, numere, reprezentarea, 182 203-208, 236, 255, 261-262
.NET, arhitectura, 1-2, 6 OutOfMemoryException, 360 ·
biblioteca de clase, 7, 19, 37, 422 OverflowException, 360
şi limbajul C++, 9 şi checked/unchecked, 367-370
Netratat, codul, 8, 446-447 override, cuvântul cheie, 300, 303
new, 121-122, 142-143, 151, 154
pentru ascunderea membrilor clasei de p
bază, 285, 287-288, 334
NON, operatorul Parametri, 20-21, 123-124, 130-133
unar la nivel de bip (-), 177-178, 181 în linia de comandă, 223-225
unar logic (!), 62-63 modificatori, 200-208
NotSupportedException, 375 şi constructorii supraîncărcap, 218
şi metodele supraîncărcate, 211,
o 213-214
transmiterea, 198-200
Oak, 3-4 utilizarea unui număr variabil de
Obiecte, 11, 115-116, 119 parametri, 206-208
crearea, 118-119,121-122 params, modificator de parametri,
întoarcerea, 209-21 O 206-208
transmiterea către metode, 197-200 Parse( ), metodele, 401-404
abject, dasa, 312-315 Peek(),376
metodele definite, 312 Pointeri, 447-450
referin1e către tipurile valorice, Polimorfism, 11-12
313-315 - ..
şi interfeţele, 317-318
Obsolete, atributul predefinit, 445-446 şi metodele extinse, la execupe, 300,
Octal, 53 303
operator, cuvântul cheie, 236 şi metodele supraîncărcate, 211, 215
Operatori Portabilitate, 4-7, 41
aritmetici, 24-25, 60-63 Position, proprietatea, 375
de arribuir~. 24, 68-69, 249 Pow( ), 76
de conversie. Vezi Conversie, Preprocesor, directivele, 438-444
operatori private, specificatorul de acces, 19,
la nivel de bip, 177-187 191-197
logici, 62-67 şi moştenirea, 274-275
Index 491
--------------------·---------------------------------·-·---4~-
Programarea
în limbaj mixt, 4-5
s
orientată pe obiecte. Vezi Orientată pe SAU exclusiv (XOR), operatorul ("•')
obiecte, programarea (POO) la nivel de bi~i, 177-178, 180-181
strucmrată, 3, 10 logic, 62-63
Proprietăfi, 258-261 SAU, operator scurtcircuitat ( 1 1),
accesibile numai la citire sau numai la 62-67
scriere, crearea, 259 SAU, operatorul ( 1)
restricfii asupra, 261-262 la nivel de bi1i, 177-180
şi interfe1ele, 329-330 logic, 62-63, 66-67
virtuale, 302 sbyte, tipul valoric, 40-43, 51
protected, specificatorul de acces, sealed, cuvântul cheie, 311
190-191, 275, 277-278 Securitate, 8
public, specificatorul de acces, 19, SecurityException, 381
191-197 Seek(), 375,397-398,409
Punct, operatorul(.), 118-119, 228-229 SeekOrigin, enumerarea, 398
Selecfie, instructiunile, 81-93
R semn, bitul de, 41
set, accesorul
Read( ), 80-81, 375-376, 378, 382, 395 la indexări, 250-251, 254
ReadBlock( ), 376 la proprietăţi, 258-259
ReadByte( ), 375, 382, 395 SetError( ), 391
ReadUne(), 376, 378-379 Setln( ), 391
readonly, câmpurile, 455 SetOut( ), 391
ReadToEnd( ), 376 Sheridan, Mike, 3-4
Recursivitate, 226-228 short, tipul valoric, 41, 43, 51
ref, modificator de parametri, 200-203, , Signatura unei metode, 216
236, 255, 261-262 Sintaxă, erori de, 22-23
ReferenceEquals( ), 312 sizeof, operatorul, 455
Referinfă, variabilele ' Sortare rapidă, algoritmul, 228,
atribuirea referin~elor de tipul claselor 231-234
derivate instan~elor clasei de bază, sortarea prin metoda bulelor, 155-157
296-309 Spafii de nume, 19, 22-23, 422-435
declararea, 121 caracteristica aditivă, 428-429
modiftcarea de către ref şi out, 205 declararea, 423-425
şi atribuirea, 122-123 imbricate, 429-430
#region, directiva, 443 implicit, 430
Relaţionali, operatorii, 29, 62-64, Specificarea comună a limbajelor, 8
24"7-248 Sqrt( ), 43, 229
Replace( ), 412 stackalloc, 455-456
return, instructiunea, 80, 126, 127 StackOverflowException, 360
Ritchie, Dennis, 2 StackTrace, proprietatea clasei
Exception, 359-360
492 1 C#