You are on page 1of 835
LA BIBLIA AANAYA\ La biblia de C# Jeff Ferguson, Brian Patterson, Jason Beres, Pierre Boutquin y Meeta Gupta ANNANYAN Todos los nombres propios de programas. sistemas operatives. equipos hardware, etc. que aparecen en este libro son marcas registradas de sus respectivas compatiias u organizaciones Reservados todos los derechos. 1] contenido de esta obra esta protegide por la ley. que estableve penas de prision yo multas. ademas de las correspondientes indemnizaciones por dios \ perjmeios. para quienes reprodujeren pl camente, en todo o en parte. una obra lit aren, distribuyeren o comunieasen pirbli- aria artistica 0 clentifiea. © su transform: cion inlerpretacion © eyecucion artisties fjada en cualquier tipo de soporte o comunicads a través de cualquier medio. sin kt preceptiva atitorizacion Copyright © 2003 by Anaya Multimedia Original English language edition copyright © 2002 by Hungry Minds Inc All rights reserved including the right of reproduction in whole or in part in any form. This edition published by arrangement with the original publisher. Hungry Minds. Inc Edicion espaiola © EDICIONES ANAYA MULTIMEDIA (GRUPO ANAYA. S.A.). 2003 Juan Ignacio Luca de Tena. 15. 28027 Madrid Deposito legal: M. 3.033 - 2003 ISBN: 84-415-1484-4 Printed in Spain Imprime: Imprime Artes Graficas Guemo. $.L Febrero. 32. 28022 Madrid Para mi familia y amigos Jeff Ferguson Este libro esta dedicado a mi tio, Brian Westor, al que no parecio importarle cuando fii de visita y pasé tode el dia con su FRS-80 Model I Brian Patterson min, que fue la motivacion. Meeta Gupta Agradecimientos Jeff Ferguson: Pocos libros de este tamafio y extension son el fruto de un solo individuo ¥ éste no es una excepcion. Estoy en deuda con mucha gente por su ayuda ¥ apovo mientras escribia este libro. En primer lugar. debo dar las gra- cias a mis padres por la educacion que recibi. Sin sus paternales consejos no me habria convertido en la persona que soy y no habria podido completar ninguno de mis trabajos. Siempre os estaré agradecido. no sdlo a vosotros. sino a toda la familia por cl amor y apoyo que siempre he recibido Me gustaria dar las gracias a todo el mundo de Wiley por su direccién en la elaboracion de este material, Gracias. Andrea Boucher, Sharon Cox. Eric Newman y Chris Webb. por guiarme por cl intimidador mundo de la publicacion de libros tecnicos, Gracias también a Rolf Crozier. que discutio conmigo este proyecto en primer lugar en sus primeros dias. Debo dar las gracias especialmente a mi coleza Bob Knutson. que revisé los borradores del material de este libro Gracias a Greg Frankenfield y a Paul Fridman por crear una excelente organi- zacion consultora basada en Microsoft que me permite trabajar en los proyectos de mis clientes junto en los mios. El crecimiento técnico que he experimentado durante mi estancia en Magenic ha sido incalculable. Esto es para que continue el éxito de Magenic. Gracias a todo el mundo de las listas de correo y grupos de noticias de DOTNET en Internet. Estoy aprendiendo mucho sobre .NET Framework y C# simplemente leyendo vuestros correos. Los envios de aca para alla del banter me han dado una mayor comprension de como encajan todas estas nuevas piezas Brian Patterson: Me gustaria dar las gracias a mi esposa. Aimee. por perdo- narme todas esas horas que pas¢ escondido en el ordenador para que pudicra completar este libro. Un agradecimiento especial a Steve Cisco por su duro traba- jo en este libro. que abrio camino para el resto de nosotros: a Sharon Cox. la editora de adquisiciones. que siempre me mantuvo en el buen camino: al editor de proyecto. Eric Newman. por aguantar todos mis regates: y al editor de la serie. Michael Lane Thomas. que reviso todos y cada uno de los capitulos. haciendo algunas sugerencias muy buenas y proporcionando una apreciable comprension de Microsoft » .NET Framework Pierre Boutquin: Sc necesito mucho trabajo para crear este libro y no sdlo de la gente que aparece en la portada. Debo dar las gracias especialmente al equipo de Wiley por su tremendo esmero por producir un libro de calidad. Los revisores se merecen casi todo el crédito por hacerme parecer un escritor competente, Por ultimo. este trabajo no habria sido posible sin el apoyo de mi familia y amigos Sandra. Andrea. Jennifer y Paul. Tindy y Doel. Marcel y Diana Ban. Margaret Fekete. y John y Nadine Marshall Meeta Gupta: Agradezco a Anita que me diera la oportunidad. Pero mi mayor agradecimiento es para Nitin por. bueno. por todo Sobre los autores Jeff Ferguson es conscjero superior de Magenic Technologies. una compa- ‘hia consultora de software dedicada a resolver problemas empresariales usando eXclusivamente herramivntas y tecnologia de Microsoft. Ha sido programiador de software profesional desde 1989 y ha desarrollado software para Unix. DOS y Windows empleando C. C++ y C# Puede enviar un e-mail a Jeff en JeffF amagenic.com (no olvide incluir las tres "F" en cl nombre de la direccion) Brian Patterson actualmente trabaja para Affina. Inc.. como jefe del equipo tecnico. donde sucle trabajar con C++ en HP-UX 0 en el desarrollo de Windows con cualquier version de los lenguajes de Visual Studio. Brian ha estado escri- biendo para varias publicaciones sobre Visual Basic desde 1994 y ha co-vserito varios libros relacionados con .NET. incluyendo Migrating to Visual Basic NET y NET Enterprise Development with VB.NET. Puede encontrarsele general- mente contribuyendo en Jos grupos de noticias de MSDN o puede ponerse en contacto con ¢l por e-mail en BrianDPatterson @ msn.com Jason Beres ha sido programador de software durante 10 aos. Actualmente es asesor en Florida del Sur y trabaja exclusivamente con tecnologia de Microsoft Jason tiene los certificados MCT. MCSD y MCDBA de Microsoft. Cuando no esta ensefiando. asesorando o escribiendo. esta formateando su disco duro. insta- lando los ultimos productos beta de Microsoft y ponicndose al dia de los ultimos episodios de "Siar Trek" re Boutquin cs arquitecto superior de software en la tesoreria de uno de los principales bancos canadienses. donde ayuda a desarrollar software puntero para la prevencidn de riesgos de mercado. Tiene mas de una década de experien- cia introduciendo sistemas computerizados basados en el PC con un exhaustivo conocimiento del diseiio de sistemas distribuidos. almacenamiento de datos. Vi- sual Basic. Visual C++ y SQL. Ha co-escrito muchos libros sobre programacion y ha contribuido con material sobre VB. COM+. XML y SQL a otros libros. Koshka y Sasha. sus dos adorables gatos de Birmania. ocupan casi todo el tiempo libre de Pierre. Mientras los acaricia. sucle pensar en lo hermoso que seria encon- trar mas tiempo para volver al ajedrez o mantenerse informado sobre Belgica pais natal, Pucde contactar con cl en boutquin @ hotmail.com. |. SU Meeta Gupta ticne una licenciatura en ingenicria informatica. Los sistemas de redes son fo que mas le gusta. Actualmente trabaja en NIT Ltd.. donde disehia desarrolla y escribe libros sobre temas muy diversos. Ha co-escrito libros sobre TCP/IP. A+ Certification. ASP.NET y PHP. Tambicn ticne una amplia experien- cia diseiando y desarrollando varias ILT. Aparte de eseribir. Meeta ha realizado, cursos sobre C++. Sybase. Windows NT. Unix y HTML para una audiencia diversa. desde estudiantes hasta clientes corporativos Indice Agradecimientos 6 Sobre los autores 7 Sobre cl editor de la serie 8 Introduccién.. 29 Quién deberia leer este libro 30 Como esta organizado este libro 30 Parte 1; Fundamentos del lenguaje C# 30 Parte I: Programacién orientada a objetos con C# 31 Parte Hi: C# avanzado 31 Parte 1V: Desarrollando soluciones .NET usando C# 31 Parte V: C# y NET Framework 31 Parte VI: Apéndices 31 Como usar este libro 32 Normas usadas en este libro 32 Parte 1. Fundamentos del lenguaje C# ... 35 1. Introducci6n a C#.... 37 NET Framework 38 Desarrollo Web 38 Desarrollo de aplicaciones 390 Entorno comun de ejecucion 40 Bibliotecas de clase NET 41 Lenguajes de programacién NET QQ Entorno ASP.NET B Historia de C. C++ y C# 4B Introduccion a C# 5) Caracteristicas del lenguaje 45 Clases 45 Tipos de datos 46 Funciones 47 Variables 47 Interfaces 48 Atributos. 2 49 Como compilar C# 49 Lenguaje intermedio de Microsoft (MSIL) 49 Metadatos Sl Ensamblados 31 Resumen 52 2. Escribir su primer programa en C#.... 55 Como escoger un editor 38 La aplicacion Hello World 56 Como construir una clase 56 El método Main() 37 Como eseribir en la consola 37 Compilacion y ejecucién del programa 38 Las palabras clave y los identificadores 50 Uso de espacios en blanco 61 Como iniciar programas con la funcion Main() 62 Como comentar el codigo 64 Como usar comentarios de una tinea 64 Usar comentarios regulares 64 Como generar documentacion XML a partir de comentarios oy 67 68 68 68 69 70 7 71 71 71 Th

You might also like