You are on page 1of 1158
$ como Ae PROGRAMAR = Insusuylu au NET = ESTRUTURAS DE CONTROLE = METo00S E ARRAYS CLASSES / ABSTRACAO De DADOS Apresentando. = Wes SeRvices / ASP .NET = COLEGOES/ PROPRIEDADES ™ Banco DEDApos/ ADO .NET / SOL ™ PROGRAMACAO ORIENTADA A OBJETOS = HERAN cA /POUMORASNO = TRATAMENTO DE EXCECOES = Monracens /Eseacos n& None = Ingno Visual Srupi0 NET GUI) FormuLAnios 00 Wiupows = Cowrnotes De JANELA (Pensonauzan0s) = Mauputagho Dt Eventos /DELecaDoS * Formuvanios Da WEB | CoNTROLES WEB = XML /XSiT™/ DOM™ = INTRODUGAO A SOAP & BIZTALX™ 1 STRINGS /EXPRESSOES REGULARES ™ MULTIMIDIA / RECURSOS GRAFICOS / GD-+ * REDES CLIENTE-SeRVDOR 1 ESTRUTURAS DE DADOS = Anutvos E Fuuxos = MULTIPLAS LivHAS DE ExECUCKO = SOBRECARGADE OPERADORES = UNIcODE® ® ACESSIBILIDADE /VoIcEXML™ = Inrecracio 40 COM » De?unApoR po Visuat Srupio.NET = GenaooR ve Documenragio = Maiputacho pe Birs / CaRACTERES DEITEL DEITEL LISTFIELD NIETO Bitty YAEGER ZLATKINA PAGINA EM BRANCO # como PROGRAMAR H. M. Deitel & Associates, Ine. P.J. Deitel Deitel & Associates, Ine. J. Listfield T.R. Nieto Deitel & Associates, Ine, C. Yaeger Deitel & Associates, Ine, M. Zlatkina ‘Tradator: Joao Eduardo Nébrega Tortello Revisdo Técnica: Alvaro Rodrigues Antunes Mestre em Ciéncia da Computagto pela Universidade Federal do Rio Grande do Sul Desenvolvedor de sistemas de controles em Tempo Reel em C Cee Ct Consultor nacional e internacional ms ziti AN. pee ae ore —/ Sto Paulo Brasil Argentina Cotdmbia CostaRiea Chile Espanha Guatemala México Peru Porto Rico Venezuela ‘Tradugdo autorizada da odigho oF Deitel, Harvey; ‘Todos os dretos reservados, Nenhurna parte desta publicagdo poera ser reproduzi ‘ov transmitida de qualquer modo ou por qualquer oatro mio, clewnico ou mex incluindo fetoeSpis, ravage ou qualquer eutr tipo de sistema de armazeramentoe ras- inissio de informagio, sem prévia atorizacdo, por escrito, de Pearson Education éo Brasil. Divotnn Editorial toeh Mastine Braga Editora: Gisélia Costa Editora de Texto: Marileide Gomes Preparacdo: Barbara E. Benevides Arruda Revisao: Lucila Segévia Designer de capa: Marcelo da Silva Franzoz0, sobre 0 projeto original de Ta mara L. Newnam Edditoracdo Eletronica: Marco Zero / Denise D’Amaro Chiara Dados Internacionais de Catalogagéo na Publicacao (CIP) (Cémara Brasileira do Livro, SP, Brasil) Deitel, HM. C#— Como programari H. M. DeitelP.J. [outros autores: PJ. Deitel J. Listfiold, TR. Nieto; C. Yaeger; M. Zlathin | radug30 Joao Eduardo Nebroga Tortllo; reviséo tScrica Alvaro Antunes ‘$0 Paulo: Pearson Education, 2008. Titulo original: C# — How to Program ISBN: 85-346-1460-8 41. C# ( Linguagem de programacao para computadores ) I. Deitel, P. JacIl Listied, Jill. Neto, T. R.. IV. Yaager, C...V. Ziatkina, Mt 03-1685 00.05.13 Indices para catélogo sistem: 41. Gf: Linguagem de programago para computadores : computadores: Processamento de dados (005.133 Direitos exclusives para a lingua portuguesa cedidos & Pearson Education do Brasil Ltda, uma empresa do grupo Pearson Education Av. Enmano Marchetti, 1435 ep: 05038-001 Lapa- Sao Paulo-SP Tel: (11)3613-1222 — Fax: (11)3611-(851 e-mail: vendas@pearsoned.com br thosa meméria de nosso tio e tio-avé David Gewanter: Acari Estamos profundamente agradecidos por ele ter compartithado conosco seu amor, estinuulo, conhecimento, idéias e sabedoria, Harvey e Paul Deitel ‘A move pais Vocés me conduciram nesses anos ¢ figeram de mim o que sou. Jeff A carinhosa meméria de vové Corbit. Tem R. Nieto ‘A meus pais ¢ irmao: Por sempre me apoiarem nos bons e maus momentos. Obrigada por tudo — nunca me esquecerei das lagrimas, dos abracos e das risadas. Cheryl Para mamée e vové: Que me apoiaram com seu amor, coragem e forga sem fim. Obrigada por sempre estarem presentes. Marina PAGINA EM BRANCO SUMARIO Prefacio: 0x1 Capitulo 1 Introdugéo aos Computadores, & Intemet, & Web e ao C# 1 LL Introduction 2 12 que €umcomputador? 2 1.3 Orgaizagio de computadores 3 14 Byolugio dos sistemas operacionais 4 1:3 Computagao pesseat, compuiagao distribuida¢ computagaoclenteservidor 4 1-6 Linguagensde méquina,inguugens asvembly linguagens de ato nivel 3 C.C++, Visual Basie NET e Java™ ‘ oF 7 ‘Outeas inguagens de alto nivel 8 Programagio estruturada 8 Principal tendéncia de sohware: tecnologia de obetos 9 “TendEncias de hardware 10 ‘A histria da Internet eda World Wide Web u wae 2 XML 2 Introdugto 20 Microsoft NET a A pletaforma NET 0 9 CLP "1 Visio gera do tivo 16 Recursos da Internet e da World Wide Web 2B Introdugdo ao IDE do Visual Studio.NET 27 Introduce 2B ‘isto geral do IDE do Visual Studio NET 28 Barra de menus ¢ bara de feeramencas 31 Janclas do Visual Studio NET 32 Solution Explorer 2 “Toolbox (caixa de ferameniss) 2 Janela Properties 33 Usando a ajuda 35 Programa simples: exibndo texto eum imagem 36 vil (C#—Come Progiamar Capitulo 3 Introdugao a Programagao com C# A 32 33 3 35 36 Introdugio Programa simples: imprimindo uma tna de texto Catro programs simples: somando intciros Conceitor de memiria Acitmnéticn| “Tomadade deeisio: operadores de igualdade ¢ relacionais Capitulo 4 Estruturas de Controle: Parte | 41 42 43 44 45 46 47 48, 49 4.10 an a2 43 Introdugio Algoritmos Preudocddigo. Extrauras de contole strana de solegdo 4 Bxtratura de selegio 4/024 stratura de repetirao while Formulando algoritmes: estudo de caso | (repetigio conirolada por contador) Formulando algoritmes com refinamenio “top-down, passo a passo: estudo de caso 2 (fepetigio controlada por secinela) Formulando algoritmes com refinamenio “top-down, passo a passo estudo de caso 3 (struturas de controle aninhadas) ‘Operadares de atribuigdo COperadores de increment e decrement Introdugio & programacio de aplicaives Windows Capitulo § Estruturas de Controle: Parte 2 SI 52 33. sa 55. 56 s7 58 59 Introdugio Fundamentos da epetigdo controlada por contador Estruura de repetigao for Exemplos usando a esrutra for [Exrutura de selegio miltipla switeh Exteuuea de ropotiio do/whi le Instragdes braake contimae peradores léuicose condicionais Resumo da programagdo estruturada Capitulo 6 Métodos 61 62 63 ot 6s 66 Introdugio ‘Modilos de progsemaem Ce Métodos daclasse Mach, e argumentos Espagos de nomes do C# “Tipos de valor e tipos de referénc Passagem de arzumentos; passagem por valor versus passagem por referéncia ‘Goragdio de nimeros slearios Exemplo: ogo de azar Drago das varidvels Regs de escopo Recursividade Sobrecarga de métodes Copituio7 Anrays a Inirodugao 51 52 2 2 6S 3) 81 82 2 ca 3 85 85 on BLED aia Sumario Bg Arrays Declarandoe alocendo arvays Exemplos usando arrays Alocando tm array inicialiansto “Totalizando os elementos de um array Usardo histogramas para apresentar os dados do aray graficamente Usando os elemenios de um array como cantalores ‘Usando arrays para analisar resultados de evantamento Passando arrays a metodes assatidy anys pow valu © po werent ‘Ordenando areys Posquissndo arrays: pesquits linear pesquisa bindria Pesaaisendo um array com pesquisa linear Pesquisendo um array ordenadocom pesquisa binéria Arrays muliidimersionais Estruura de repetigio foreach clementos Caritulo 8 Programagée Baseada em Objetos 31 Introducao 8.2 _Implementando um tipo de dados abstrato de tempo com uma classe 8.3 Escopo de classe Rd Contralando o acesso aos membros 8.5 Inicializando objetos de uma classe: constntores 8.6 Usando construtores sobrocarregades 87 88 iis a objetos como variveis de inadnsia de outra classes 39 Usandoa referencia this B10 Cole de liso S.11 Membrot de classe atatic 8.12 Membros canst ¢ readonly 8.13 Indexadores 8.14 Abstragio de dados e ocultamento de informasbes 8.15 Reutilizagdo de software 8.16 Espagosde nomese assemblies 8.17 Class View e Object Browser Capitulo? Programagée Orientadia « Objetos: Herenga 293 8.1 trode 294 8.2 lasses basse clases derivadas 295 93 Membros protected e internal 297 G14 elainnaren mete lens ceo lithe Aaa 307 9.5 Extudodeeasohierarqua de heranca de us aiveis 3S 916 Construores e desrutores er clases derivadas 318 9.7 Engenhriade sofware eom heranga 323 Caritulo 10. Programagdo Orientadaa Objetes: Polmor smo 327 101 Introdugio 328 10.2 Conversio de objtos de classes denvadas par abetos ca clase base 528 103 Campos detipo ensirgtes switch, a4 104 xemplos de potimortswo ua 105 Classes ° mitodosabstratos 338 106 Estado de caso heranca deineracee implementa x7 10.7 Classes e métodos sealed ad 108 Estado de caso: sistema de folha de pagamento usando polimorfismo Mas 109 Estado de caso: riando usando interfaces 354 10.10 Delegados 304 10.11 Sobrecarga de operadores 367 x (C#—Como Programar Capitulo 11. Tratamente de Excegdes 378 111 Intraducio 376 11.2 Visto geral do iratamento de excegoes S16 113 Exemplo: DividepyzeroBxception 379 114 Hicrarquia de excoges do NET 383 11S Oblocofinaliy 384 11.6 Propriedades de Exception 301 11.7 Glasses de excego definidas pelo programader 395 11.8 ‘Tatendo esouros com os operadores checked ¢ unchecked 398 Copitulo 12 Conceilos de Interface com o Usuario Gra ca: Patio 1 405 12.4 fatrodugso 406 12.2 Foemulérios Windows 06 12.4 Modelode maniputagio de eventos 409 12.3.1 Manipulacio de eventos bisica 410 124 Propriedades de controle layout 414 125 babel, TextBoxe Button 47 126 GroupBoxe Fane) a2 12.7 CheckBoxe RadioButton 323 128 PhetuzeBox 432 12.9 Manipulago de eventos de mouse 434 12.10 Manipatagio de eventos de tela 36 Capitulo 13. Conceitos de interface com o Usuario Grd ca: Parte 2 445 13.1 Introducio 46 132° Menus, 46 LinkLabels a4 LLstBoxes checkedidetBoxts 457 ListBox: 459 Checkedti stBoxes 461 Combozoxes 463 ‘Treeviews 467 ListViews 42 Controle com guias 8 Janelas MDL 483 Heranga visual 490 ‘Contoles defnides pelo usuirio 494 Copitulo 14. Miitiplas Linhas de Execugéo (Mullithreacing) 505 14.1 Introdugio 506 14.2 Estados de linha de execugo: ciclo de vida de uma finha de exeeugio 307 14.3 Prioridadese programacio de linhas deexecucao 508 144 Sincronizagao de nas de ecugi ¢ a classe Monitor 312 4.3 Relacionamento prodatorfconsumidor sem sincronizago de linhas de execuga0 sia 14.6 Relacionamento prodatoriconsumidor com sineronizagio de lishas de execusio 520 147 Relacionamento prodatoriconsumidor: buffer circular 377 Capitulo 15. Strings, Caracteres e Expresses Regulores Introducio Fundamento dos carateres © stings ‘Consruores de Strings Indesador, propricdade Length ¢ método Copy 0 de String Conparando atzinge Método Gat Hanhcode de string Localizando caacieres substingsem stings Extraindo sibstings de strings ‘Conatenardlo strings Metodos do Sting diversas BLED aia Sumario XI 15.11 Clase stringsutlaer 337 15.12 Indexador, propricdadss Length e Capacity cmélode Easurecapacity de Stringbullder 558 18.13 Método: Apponde AppondFormat de StringBuilder 60 ISM Métedos Insert. Remove Replace d: StringBuilder 563 15.15 Métedos de Char: 566 15.16 Simulagio de embarathamento e distrituigio de cartas 568 15.17 Expressdes regulates ¢ classe Regex sm Capitulo 16 Elementos Gré cos e Mullimidia: 587 Jot antroaugao as 16.2 Contextos gréficose cbjelos grticos 590 16.23 Controle de cores 591 164 Controle de fontes so7 16.5 Desenhando finhas, rengulos eclipses 602 16.6 — Desenhando arcos 605 16.7 Desenhande peligonos ¢linas poligonais 607 16.8 Recursos grificos avangados on 168 Introdugio a moltimia 516 10.10 Cartegando, exibindo e mudando a eseals de Imagens 516 16.11 Animaado uma série de imagers on 16.12 Windows Media Player 529 16.13 rosoft Agent sl Coritulo 17 Arquivos e Fluxos 649 17.1 Inrodugio 650 17.2 Hierarquia de dados 650 17.3 Arquivos e fuxos 952 174 Classes File eDirectory 993 17.5 Crlandoum arquivo de acesso sequencial 661 17.6 Londo didos de um arquivo de acesio seqtencial on 17.7 Arquivos de acess aleatério 583 17.8 — Criandoum arquivo de acess aleatrio 586 17.8 Gravando dacos alzatoriamente em um arquivo de acessoaleatirio 590 17.10 Lendo dads seqiiencialmente de um arquivo de avesso slew rio 64 17.11 Bstudo de caso; um programa de processamento de transagtes 699 Corituio 18 XML (Extensible Markup Language) 723 18.1 Introdugao ra Documentos XML ns Bzpagos de nomes do XML ne OM (Decament Object Medel) om DTDs (Document Type Definitions). esjuemas e validagio Ms DTDs 16 Microsoft XML Schema 750 W3C XML Schema 751 ‘alicagdo de exquema em C# 153 XSLe Xsitranstorm 136 “Microsoft Biz Talk™ 762 Recursos da Internet e da Weeld Wide Web 168 Capitulo 19 Boncos de Dodos, SQL e ADO .NET 173 19.1 Iatrodugio m1 19.2 Modelo de bancos de dados telacionais 14 19.3 Visio geral de banzos de dads relacionais: banco de dados Books 75 194 SQL 780 19.4.1 Consulta SELECT bésica 780 192 Chivsula WHERE 181 xil C#—Como Progamar 1943 Cdusuls ompR wx 783 1944 Combinando dados de milplastabelas: ROWER JOIN 785 19.45 Juntendo dados das tables: Author@, AUthoxTSBN, Titles ¢ Publishers 77 19.46 Insiragio INSERT 789 1947 Instrugio UPDATE 790 1948 Instrago DELETE 790 19.5 Modelode objetos ADO NET m1 196 Programando com ADO .NET:extraindo informagbes de umm banco de dados m 19.6.1 Conectandoe consultando una onte de dados Access 792 19.6.2 Consuttando opanco de cages HOOKS 19 19.7 Progiamando com ADO NET: modificandorezstos de um banco de dados 300 198 Londo. grovando anaives XML 307 CCaritulo 20. ASP .NET, Formularios Web e Controles Web 818 20.1 Intratucio 816 202 Transagio HTTP simples 816 203 Arquitetrado sistema 818 204 Grandoe execatando um exemplo de formutirio Web simples 819 203 Contoles Web 830 205.1 Contoles de textoe grticos 830 2052 Controle AdRotator 095 2053 Contoles de vaidagio 839 206 Acompanhamento de sessio as 206.1 Cookies ag 20.62 Acompanhamentode sesso com HupSessonStae 856 20.7 Eso de caso: iro de visitantes online 864 20.8 tuo de caso: conectando um hanco de dades em ASP.NET 870 209 Rasteamento 383 20.10 Recursos da ttevnet eda Workd Wide Web 384 Capitulo 21 ASP .NET © Sevicos da Web 893 21.1 Inteotugio ao Servigos da Web 395 SOAP eservigas da Web 397 Pablicando e consumindoservigos da Web 399 ‘Acompantmesto de sesso em servos da Web 913 Usando formuliris Webe servigosda Wed 97 Fstudo de caso: apliatvo de informagees de emperatuns 929 21.8 Tipos definidos peo uuétio em serviges da Web 937 Catitulo 22 Rede: Soaueles e Datooramas Baseados em Fluxos 951 22.1 Intraugio 952 22.2 Estabolecendo um servdor simples (usando soquetes de x0) 953 223 Esabolecendo amelente simples (asando soqutes de fuxc) 954 224 _Inerago cliene/servidor com conexdes de soquetes de Muxo 955 22.5 Interago cieme/servidor sem conexdo, com éatagramas 963 22.6 _Jogoda-velha clienteservidor usando um servidce com mia linhas de execuga0 968 Capitulo 23. Eskulures de Dados © Colegdes 985 23.1 Inteadusio 986 282 Classes autoseferenciis ons 23 Lisiaceneadeadas 988 24 Pihas 997 Bhs 1002 Arvores 1005 ‘Arvere de pespisabindria de valores intiros 1006 Acvore de pesquisa hinana de obyetos TComparable wie BLED aia Sumario xill 23.7 Clases de colegio 1019 23.21 Classe array: 1019 23.72 Chasse ArrayLiot 021 23.73 Chose stack 1027 23.14 Classe Hashtable 1030 Capitulo 24 Acestibilidade 1043 24.1 Introducto 1044 24.2 Legislagio e recursos 044 243 Web Accessibilty Initiative 046 244 Altemativas para imagens 046 24.5 Maximizagio oa legibilidade focalizando a estrutura 1047 246 Accs 1048 24.6.1 Ampliagio dos fecnes da barra de ferrameontas tos 24.62 Ampliagio do texto os 2463 04s 24.64 1050 1052 1052 1058 ‘Acessitilidade em frames XHTML 1062 24.10 Acessbilidadeem XML. 1062 24.11 Usando sintese¢ recoahosimento de vor com 0 VoigeXML™ 1063, 24.12 CallXMLO 1069 2412 IAWS@ for Windewws ora 24,14 Outras ferramentas de acessibilidads 1074 24.15 Acessibilidade no Microsoft® Windows® 2000/XP 1075 24.15.1 Ferramentas para pessoas portadoras de defiiéncia visual, 1077 24.15.2. Ferramentas para pessoas portadoras de deficineia auditiva 078 24.15.3, Ferramentas para usuérios qu tém ditteuldade de usar o teciado 1078 2415.4 Microsoft Narrator 1083 24.15.5.“Toclado virwal da Mierosoft 108s 2418.6. Recursos de acessibilidade no Microsoft Intoraet Explorer 6 086 24.16 Recursos da Internet eda World Wide Weh 1087 Apéndice A Tobela de Precedéncia de Operadores 1097 Apéndice B Sistemas de Numeragao (no CD) Bel BA Intraducio Be B.2 —_Abreviasdodos ndmeros biniries como mimeros ocaise hexade Bed B.3_ Comersio dos niineras ectaise hexadecimais em nimeros biniios BS Bd Comersio de binério, ctl ou hexadecimal para decimal BS B.S Comersio de decimal em bindrio, octal ou hexadecimal BG Bo _Nameros bindrios negativos: nowgao de complemento de dois Ba ‘Apéndice © Oportunidacies de Emprego (no CD) cr C1 Inrodugio cn C2 Recurs0s para quem procira emprego cit C3 Oportunidades on-ine para os empregadores cis C4 Servigos de reratamento cis C5 Siesdeempregos C19 C6 Recursos na Internet e na World Wide Web cn Apéndice D_ Depurador do Visual Studio .NET 101 Di Introduction 1102 D2 Pontos de parada Hos xIV (C#—Como Programar bs 1106 Db Controle do programa 1108 DS —Maisrecursos do depurasio de métodos 1109 D.6 —_Maisrecursos de depuracio de classes m3 Apéndice E Gerace de documentagdo no Visual Studio (no CD) E30 El introduc E31 2 Comentirios da documemtagio E31 E3 —_Documentando o e6digo-fonte do C# B32 Ea Crrando paginas Web de comientiris ra 5 Criandosarquivos de documentagio em XML E40 Apéndice F_ Conjunto de Caracleres ASCII Apéndice G Unicode® (no CD) G.1 Introduction G2 Formatos de transformagio do Unicode G3 Caracterese glifos G4 Vantagens e desvantagens do Unicode G5 Site Webdo Unicede Consontium G6 —_Usando.o Unicode 6.7 Intorvalos do exracteres Apéndice H_Integragdo COM (no CD) HA Introducio 2 Integracio com o ActiveX 3 Integragio coma DLL Hd Recursos ds Internet e da World Wide Web Apéndice! Inirodugdo ae Hypertext Markup Language 4: Parle 1 (no CD) 169 11 Intredusio 170 12 Asinguagens de marcagio 170. 13 Baitendo HTML 170 14 Elementos comuns v7 15 Cabegalhos i 16 Links ta 17 Imagens 176 Caractere especinise mais quebras de lina Hn [Listas nio-ordenadas B81 Listas aninhades eorsenadas 183, Recursos da Intoret © Wertd Wids Web Tes Apéndice J Introdugdo ao Hypertext Markup Language 4: Parte 2 (no CD) 589 J Introdugio 4-90 12 Tabelas HTML bavicas 4-90 43° Tabelase formatagio da HTML intermediétia 192 14 Pormulérios HTML bisicos 395 1.3 Formularios HTML mats complexos 397 4146 Vinealagso incerne 3-103 1.7 Criandoc usando os mapas de imagem 1-105 JR Tagsemotas 4.107 19 Blemento frameset 3-109 110 fraseastes aniahados Fill J Recursos da Internet e da Werld Wide Web F113 Apéndice K_ Introduce ao XHTML: Porte 1 (no CD) K-18 KL ntroaugao muy BLED aia Sumario xv 2 Edindo a XHTML K.3. Primero exomplo de HTML K.b—_Servigo de validagio de XHTML do W3C KS Cabecalhos K6 Links K7 Imagens K.8 — Caracteres especiais e mais quebras de finba K.9 Listas nio-ordenaéas K.10 Listas aniniadase orcenadas KI Kecursos da internet e da worta Wide Wen Apéndice L_Introducéio ao XHTML: Parte 2 (no CD) Ll Introduction 12 Tabolas bésicas XHTML 1.3 Tabelas.e formatacio intermedi L4 — Formulirios XHTML bisicos LS Formulisios XHTML mais complexos 1.6 Links imernos 1-7 Cfiandoe usando os mapas de imagem LS elementos meta 19 Oelemento frameset 1.10 Framesets aninhados ia em XHTML. Ll Recursos ds Tnternet e World Wide Web ‘Apéndice M_Caracteres Especiais do HIML/XHTML 1126 Apéndice N- Cores no HTML/XHTML n27 Apéndice © Manipulacdo de Bits (no CD) 0-170 0.1 Introducio. O.171 0.2 Amanipulagio debits eos operadores bitwise O17 03 Chasse BitArray O81 Apendice P Crystal Reports for Visual Studio .NET 1130 RI Introducao 1130 F2 Recursos do site da Web do Crystal Reports 1130 P3Gaysial Reports e Visual Stadio NET. 132 PA.1 Crystal Reports em aplicativos para a Web 132 P32 Crystal Reports e servigas da Web 32 Bibliogia a 1135 indice 1137 PAGINA EM BRANCO TLUSTRACOES Carituio 1 Introdugao aos Compulacdores, & Intemet, d Web e ao C# 11 Linguagens NET 1s Catitulo 2 Introducdo ao IDE do Visual Studio.NET 2:1 Start Page no Visual Sudo NET. 2.2. Caixa de dogo New Project. 23. O ambiente do Visual Studio.NET ap6s um novo projeo ser ride, 2:4 Barra de menus do Visual Studio NET. 2.5 Resimo dos ments do Visual tuo .NET. 2.6 Bariadeferamentas do Visual Studio.NET. 2.7 Demonstagaa de dca de oi, 28 eames da barra de fereamentas para véras janeles do Vil Suudio NET 29 Jancla Solution Explorer. 2.10 fanela Toolbox. 2.11 Demmonsrando o vultamentozutomstico de jane. 212 Janela Proper 213 Janela Dynamic Help. 2:14 Programa simples ao serexecuade. 21S Criando um novoaplicativo Windows. 216 Configorand n lonakangte do pejeta 2.17 Configurandoa propriedade Text do formule, 218 Formuléro com agas de redimensionamente, 2.19 Mutando apropriedide Backcolor. 2.20, Aicionando um novo rétuo no form. 2.21 Rotwloem posigao, comstua propredade Text contgurada. 2.22 A jancl Properties exibindoas propriedades do ritulo. 2.23 A junela Fonte padrio do Windows para slesionar fontes,estilos ¢ amanhes, 41 2.24 Centralizandoo texto no roto a 2.25 _Inserindo¢ alinhando a caixa de figur. a 2.26 Propriedade Image da caixa de figura. B 2.27 Selecionando uma imagem para acaina de figura, B 2.28 A caixa de figura apés aimagem ter sido inserida. 44 2.29. IDE nomudo de execugio, com o aplicatvo sendo executao em primeko plano, “4 xvill (C#—Como Programar Capitulo 3 Introdugao a Programagao com C# 3 Nosso primeiro programa em CH. 2 3.2 Aplicativo de console gerado pelo Visual Studio NET, 30 33 Execugio do programa Welcomed, 37 344 Imprimindo una linka com insirugées separedas, 37 3.5 Imprimindo msltiplaslinhas comm uma Gnica instrucio, 58 36 Algumas seqincias de escape comuns. 38 3.7 _Exibindo maliples tines em uma caica de dilogo. 59 38 Adicionando ums referéacis em um assembly no Visual Sudio NET 60 3.9 GUI do Inernet Explorer. 61 3.10 Caixa de idlego apresentada por meio da chamada de MessageBox. Show. 61 3:11 Programa de adigio que soma dois valores fornecidos pelousvirio. 02 3.12 _Posigdo de meméria mostrande o some eo valor da varivel momber2., 65 3:13 Posigdes do meméria apSs es valores das vardveis aumber c number? terem sido fornecidos 6s 3.14 Posigdes de meméria aps um edleulo, 66 3.18 Operadores attméticos. 6 3:16 Precedéncia dos operadores arimétices. 67 3.17 Ordemem que um polintmio ce segundo grau &avaiado. 68 3.18 Operadores de igualdadee relacionais, 9 3.19 Usando operadores de igualdace e relacfonais. 9 3:20 Precedeneia eassociatividade dos operadores discuidos neste capitulo. n Capitulo 4 Estruturas de Controle: Parte 1 4.1 luxograma da estrutra de soqineia do Cit 4 4.3. Fluxograma de uma estnutura 4€ de selecio énica, 86 44° Fluxograma de uma estrtura 4£ /e1se de seleqo dupla, 86 4.3. Fluxograma da exrutura de repetigio while. 90 4.6 Algoritmo em pseudoesdigo que usa repetigZo controlada por contador para resolver 9 problema da media daturma, 1 4.7. Programa de média da wema com repetigio contcolada por contador, o1 48 Algoritmo em pseudoe6digo que usa wpasigZo contiolada por sontinela para resolver o problema ‘da mde da tur. 95 4.9. Programa de média da turma com repeticdo controlada por sentinel, 96 4.10 Pseadocddigo do problema dos resultados do exame. 100 4.11 Programa Ci para o problema dos resultados do exame, 100 4.12 Operadores de atribuigdo aritméticos. 103 4.13 Os operadores de increniento e deeremento, 103 414 A diferengs entre pré-inerementare pés-incrementar. 103 AAS Precedéncia e associatividade dos operadores discutidos até aqui neste ive. 10s 416 IDE mestrando 0 e6¢ige do programa de 2.15 106 4.17 Céciga gerade pelo Windows Form Designer, quando expandito. 107 4.18 Céigo gerado pelo IDE para welconeLabel. 108 4.19 Usando a janela Properties para configurar um valor de propriedade. 108 4.20 Cécigo gerade pelo Windows Form Designer refletindo novos valores de propriedade. 109 4.21 Mudanio uma propredadle no editor do mod de visualizazio de c6digo. 109 4.22 Novo valor da propriedale Text relletide no modo de 109 423, Méwdo asimpleProgran_Load. 110 4.24 0 recurso IntelliSense em agio. 110 4.28 Mudanio um valor de propriedade em tempo de exeeusio. a Capitulo § Estruturas de Controle: Parte 2 Sa io controlada por contaior com a estrutura whe. 120 52 ico controlads por ccntadorcom aestrutura for. 12 53 Componentes de um categalho tipico da estrutua for. 123 54 Fluxograma de uma estrutura de repetigio for tpica. 125 55 Soma usando for, L260 BLED aia lstiacdes x £16 feones decals de edlogo de mensagem, 126 £:7 Boies pam cainas de dislogo de mensagens. 127 £8 Caleulando juros compostos com fox 128 $9 Céscigos de formatagio de st xing 129 5.10 situa de selecdo mikina swi tt. 130 5.11 Floxograma da earutura de selecio mitipa switch. 132 5.12 Esrutura de repetgio do/vhi 133 £113 Fluxograma da esrutura de repetigio do/swhie. 134 £14 Insvugio breakem una estutura for. 133 310 _taneta verdad do operaor aa (: conatcrona. 1 £17 Tabela verdade do oyerador | | (OU conciona). 138 £18 Tabela verdads do oferador OU exclusive lézico 139 £19 Tabela verdade do oyeralor 1 (NAO Igieo). 139 £20, Operadorescondicionase aivos. 139 5.21 Precedéncia eassociatvidae entre 0s operadores dscutidas ai au. ial 5.22. Esiruturas de seqéncia de um entradauma sada, repetigioe slegao do C 143 £.23 Rega para fermar programas estraturads. lad 5.24 Fluxograma maissimples. 144 5.28 Aplicasaorepotida d regra2 da 3.28 no uxograma mas simples aa 5.26 Aplcagio da regi 3da 5.23 no Muxograma mas sinpls 145 £27 locos de constrgieempilhados,aninhados¢sobrepstos. 14s 5.28 Flacograma nfo esttund. 145 Carituio 6 Métodos G1 Relacionament hierirasio do método chete/métodofancionsi. 135 62 Méiodes da classe Math comumente usados. 136 63 _Usandoo méiodo Square defnid pelo programacor. 137 64 Método Maxaman definido pelo programadce 161 63 Conversoesimplista permits. 167 6.6. Espagos de nomes ds Framework Class Library. 168 67 Tipos de dadosimernos do CH 169 68. Demonstrindo os parimotrs ref ¢ out. 170 69 Intros aleatérios no interval de I a6. 17% 6.10 Lanzamenio de dados em um apicativo Windows. 174 G11 Simutando o langamento de 12dados desis ados. 176 6.12 Programa para simular o jogo de craps 179 613 Escopo. 183, 6.14 Avaliaga reursiva de 3 186 6.18 Caleulando faorais com um metodo recusivo 187 G16 Gorando nimeros de Fitonsecirecursivament. se €19 Conjunto de shemadssrursion porno méiede Pibonnesi. 190 618 Used métodos sobwecarreeades. 191 6.19 Erode sitaxegerado apanirde métodos scbrecarezados com istas de pardimetto €tipos de retomo diferentes. 193 6.20, AsTorves de Han6i para caso de quatro discos. 201 Capitulo? Arrays 1 203 12 stds até ae 7.3 Inicitizando arrays de elemento de trés mansiras diferentes, 714 Caleulando a soma dos elementos de um aray 7.5 Programa queimprime histogram 7.6 Usando arrays para climinar uma estrutura switch, 1.7 Programa simples de andlise de pesquisa de aluno. 7.8 Passando arrays e elementos de aray individuais a métodos. 7.9 Passando uma referencia de array por valor e por referencia ‘410 Urdenande um anay com ordenaga0 “D0. xx (C#—Come Programar TAAL Pesquisa tinear de ura aay. 23 THI Pesquisa binésia de um array onenad 225 7.13 Array bidimensional com ts linhas © quatro colunes. 208 7.14 Inicitirando arrays mulidimensicoais 29 TAS _Exemplo usando arrays bidimensionais. 231 7.16 Usando foreach com um array. 234 Capitulo 8 Programacéo Baseada em Objetos 8.1 O tipo de dados abstato Time. representa ahora no formato de 24 bores. 243 82 Usando um tipo de dados abstat. 27 83 Acessar membros de clase private pani Ue cdigo cliente geraerros de sintace. 250 84 Os construores sobrecarregades fornecem opydes de inicializago de objeto Mexives, 252 £5 Demonstrogc de consritor sobrecarregato. 254 8.6 As propriedades fornecem seesto conirolado aos alos de um abet 256 87 Demonstravia de propriedades da clase Time3. 258 88 A classe Date encapsula informagBes de dia, més eano. 262 89 A classe Employee encapsula o nome, adaia do nascimento ea data de contratagio do fancionsri, 263 8.10 Demonstrao de compesigio. 268 8.11 Referéncia ths usada implicita e explictamence para permitr que um objeto manipule seus proprios ddados © chame seas préprios métotos. 265 812 Demonstragic dareforéacia thie. 266 8.13 Os membros static sio aessivvis para todos os abjetos de uma classe 268 8.14 Demonstrapdo de membxo static. 270 8.15 Demonstraio de membeo de classe const ¢ readonly. m 8.16 Os indexadores fornecem acesso por meio de indices aes membros de um objeto. m8 817 O assembly TimeLibrary contém aclasse Timed. 281 8.18 Bibliotecade classes simples. 284 R19 Assembly TAneLAbrary usaio a pani da classe AssemblyTest. 285 8.20 0 recuiso Class View da classe Timed (8.1) eda clase Timerest2 (6.2) 286 821 0 Object Browser quando o ususrio seleciona Object de Timed.cs, 286 Corituio 9 Programagéo Orientada a Odjetos: Heranea 8.1 Exemplos de heranc. 29s 9.2 Hierarquia de heranga para NenbroDaComuni dade de uma universidade, 296 9.3 Parte de uma hierarquia de lasses FormaGeometrica, 207 9.4 A class: Pod representa um par de coordenadas x, y. 298 9.5 A.casse Point Test demonstra « funcicnalidade da claswe Point. 300 9.6 A.casse CLzeLe contém um par de coordenadas x,y € um aio. 301 9:7 ChreleTest demonsta a furcionalidade da classe Clee. 303 98 A classe Cixeie2 que herda da classe Point. 308 8.9 A clases Dadnea roprosonts um par de coandomadae x,y coms dudot protested. 206 9.10 A classe CLreLe3 que herda da classe Podnt2. 307 9.11 CixeleTest3 demonsraa funcionalidide da classe Cixe1e3. 308 9.12 A classe Point3 usa propriedades para maripular seus dados private. 310 9.13 classe CLreled que herda da classe Post3, a qual nio fornece dados protected. 311 9.14 ChreleTest demonsraa funcionalidsde da classe CAxele4. 313 9.15 A class: CyLinder henda da classe Chole e sobrepoe 0 método Area. 313 9.16 Tesiindo aclase CyLindes 37 9.17 A classe base Polat contSm construtors¢ fralizador. 39 9.18 A classe Cixeles hora da classe Poked e sobrepde umn metodo finalizador 320 9.19 Ordem em que os constnatores e destratores so chamados. 322 Capitulo 10 Programacéie Otientada a Objetes: Polmor smo 10.1 A classe Podnt representa um par de coordemadas x.y. 329 10.2 A classe CLreLe que herds daclasse Point. 330 10.3 Atribuindo referéncias classe derivada para eferéacies A classe base. 331 WA Classe base absirala Shape. 37 BLED aia ustragées XX 105 A classe Fodme2 hea da clase abstract shape. 338 10.6 A-classe Chree2 herds da classe Point. 339 107A classe GyLindor? herde da clesse Cixele2. ai 108 AbstractshapesTest: demondra o polimorismo na hierarquia Point-Circle-Cylinder aa 10.9 Detinigio da classe abstract Baployes Ms 10.10 A classe Boss herda dacclasse Employee. 346 10.11 A classe Comni.gsionWorker herds da lisse Employee. MMT 10.12 A classe PLeeetorker herda daclasse Employes. 349 10.13 A classe HourlyWorker herda da classe Employee: 350 10.18 A classe ampsoyeesrest testa & meranyuin de clusses ssmpsoyee. 332 10.15 Interface para eternar aidade de ebjets de classes dfpares 355 10.16 A classo Paxson implementa a interface ZAge. 355 10.17 A classe Tree implementa interfuce Tage. 356 10.18 Demonstrando polimortismo em objetos de classes dfspares. 357 10.19 inerface ZShape fornece os métodos Area e Volume. a propriedade Nae, 358 10.20 A classe Podnt3 implementa a inerfice ZShape, 359 10.21 A classe ChreLe3 herda da classe Point. 360 1022 A classe CyLinder3 herds da clesse Cizcle3, 301 10.23 Intertaces2Tes¢ usa interfaces para demonstrar 0 polimortismo na hierarqula Point-Citele-Cylinder, 363, 10.24 Ordenagio “bothe" usando delegados. 364 10.25 Aplicative Poem de ordenasio“balha 365 10.26. Sobrecarregando operadores pera rsimeros complexos. 368 10,27 Usando sobrecarga de operadores. 30 Carituio 11. Tratamento de Excecdes ILI Manipuladores de excegSes para FornatExceptione DivideByZeroException. 379 11.2 Demonstrando que os bloces fina Ly sempre sio executados,independentemente de ocerret u mio.uma excesio. 386 11.3 Proptiedades de axception ¢ desenrolamento de pill. 391 114 Subclasse App1icationBxceptiion, langads quando um programa exceuta operagéesinvslidas ‘om ndimeres negatives sos ILS A classe SquareRoot Test langa uma excegio caso 0 ero ccoma go se caleular a raiz quadrad, 396 11.6 Os operadores checked c unchecked ¢ o ratamento do estouro aritmstico. 399 Carituio 12 Conceitos de Interface com o Usuario Gré ca: Parte 1 121 Exemplo de janela do Inerret Explorer com componentes de GUI. 122 Algunscomponentes de GUI bisicos. 12.3 Componentes. controles dos formutrios Windows. 124 Propriedades ¢ eventos comuns de Form. 12.5 Modelo de manipula;do de eventos usando delegades. 126 Sogo de eventos de jancla Proportion. 12.7 Exempla de manipula de eventos simples, 128 Lista dos eventos de Foz. 12.9 Detalhes do evento Click. 12.10 Propriedades ¢ métodos da classe Contx01. 12.11 Demonstrago de ancoragem. 12.12 Maniptlando a propriedide Anchor de um controle. 12.13 Demonstragao de acoplamento, 12.14 Propriedades de layout da classe Conte « 12.18 Propriedades de Label. 12.16 Propriedades e eventos de TextBox 12.17 Propriedaces ¢ eventos de Button. 12.18 Programa pars exibir texto oculto em um eaixa de sen 12.19 Propriedades de Groupsex. 12.20 Propriedades de Panel. 12.21 Crisndo um Panel com: barras de rolagem. 41222, Usando Groupsoxs ¢ Panes para organizar BUEEORS. sand programag’o vi xxi (C#—Como Programar 12.23 Propriedades ¢ eventos de CheckBox 25 1224 Usando CheekBoxs para mudarestlos de font 426 12.25 Propriedades e eventos de RadioButton. 428 12.26. Usando Radioput tons para conigurar opgses dajanela de mensagem, 428 12.27 Propriedades ¢ eventos de PictureBox. 432 12.28 Usando uma PActuceBox para exibir imagens. 433 12.29 Eventos de mouse, delegados e argumentas de evento, 4 12.30 Usando 0 mouse para desenitarem um formutério. 435 1231 Eventos de teclado, delegados e argumentos de event. 437 12:32 Lemonstrando eventos 0 teciago. 37 12.33 GUI para o Exercicio 124. 43 12.34 GUI para o Exerecio 125. 443 1238 GUI para o Exerefeio 126 43 Carituio 13. Conceitos de Interface com o Usuario Gré ca: Parte 2 13.1 Menus expandides & marcados. 447 132 Menu Designer do Visual Studio NET. 448 133 Propriedades ¢ eventos de MainMenu e NenaTtem, 448 13.4 Menus para mudar Fonte e cor de texto. 49 138 O contiole Linkiabel no programa em execusio. 454 13.6 Propriedades ¢ eventos de LinkLabel. 454 13.7 binktabels usados pera se ter um link para uma pasta, para uma pigina Web e paraum apiicaive. 495 IB8 ListBoxe checkednd stBox em um formulitic. 457 13.9 Propriedades, mSiodos e eventos de ListBox. 458 12:10 String Collostion Editor. 150 13.11 bA.stBoxusada em um programa para agicionar. remover e Timpar tens, 459 13.12 Propriedades. méiodos e eventos de CheckedListBox. 462 13.13 Checkedid stBoxe Li etBox usadas em um programa para trostar a selegio de um usuitio. 462 13.14 Demonstragdo de ComboBox. 464 13.15. Propriedades ¢ eventos de ComboBox. 464 13.16 ComboBox usads para desenbar uma selectonad 465 13.17 Treeview mostiando um exemplo de &rvore, 468 13.8. Propricdades ¢ eventos de TreeView. 468 13.19. Propricdases métodos de TeeeNode 168 130 TresNode Editor. 469 1321 Treeview usads para exibir diretSrios. 470 13.22 Propriedades ¢ eventos de ListView. 1B 13.23 Janela do Image Collection Editor para um componente TmageList. 43 13.24 ListView exibindo arquivose pests 43 13.25 Paginas com guias no Visual Studio .NET. 478 13.26 rapvontco4 com exemplos ce xapvage 479 1327 TabPages adicionadas cm um TabControl. 479 13.28 Propriedades ¢ eventos de TabContzol. 480 13.29 TabContro} usido para exibir viias confipuragdes de fonte 480 1330 Janela progenitora MDI janelasflhas MDL 483 1331. Formulirios SDI e MDI. 484 13.32 Eventos e propriedaces de progenitor filho MDI. 484 13.33 Janelas filhas minimizada e maximizada, 485 1334 Exemplo ca propriedade Matbi st de Menurtem. 486 1338. Valotes daenumeragio mainayout. 487 13.36 Classe de jancla progenizora MDI. 487 13.37 Classe Chi4 para demonsiraso de MDI. 490 1338 A classe VieualTnhari tance, que herda da classe Form. contém um botdo (Learn More) 491 13.39. Heranga visual por neio do Form Designer, 492 1340 A classe Visual Inheri tancerest, queherda da classe visual Inheritance.VisuaiInheri tance, contém um toto alicional. 493 BAL Criasto de controles personalizados, 495

You might also like