0% encontró este documento útil (0 votos)
374 vistas15 páginas

Guía Completa de Programación en C#

El documento describe el lenguaje de programación C# y sus características principales como tipos predefinidos, clases, interfaces, herencia y namespaces. C# es un lenguaje orientado a objetos diseñado por Microsoft para combinar la potencia de C/C++ y Java con la productividad de Visual Basic.

Cargado por

Cristian Marte
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
374 vistas15 páginas

Guía Completa de Programación en C#

El documento describe el lenguaje de programación C# y sus características principales como tipos predefinidos, clases, interfaces, herencia y namespaces. C# es un lenguaje orientado a objetos diseñado por Microsoft para combinar la potencia de C/C++ y Java con la productividad de Visual Basic.

Cargado por

Cristian Marte
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

EL LENGUAJE DE

PROGRAMACIÓN C#
OBJETIVOS

 Conocer las características del lenguaje de programación C#


 Aprender a programar utilizando C#
 Aprender a documentar código en C#
CONTENIDO

 Introducción  Estructuras (struct)


 Compilador C#  Enumeraciones (enum)
 Namespaces  Interfaces
 Sistema de tipos unificado  Modificadores de acceso
 Tipos predefinidos  Excepciones
 Operadores  Sentencia using
 Entrada / Salida por Consola  Generics
 Sentencias  Anexo I. Documentación XML
 Clases  en .NET
INTRODUCCIÓN

 C# es un lenguage OO usado para desarrollar aplicaciones en la plataforma .NET


 Diseñado por Microsoft para combinar la potencia de C/C++, Java y la productividad de
Visual Basic
 El objetivo de C# (y de la plataforma .NET) es reducir el tiempo de desarrollo
 Permitiendo a los desarrolladores invertir su tiempo trabajando en la lógica de negocio en
lugar de detalles de programación de bajo nivel
 En C# todo es un objeto
 Todo hereda de System.Object
 Es posible declarar un tipo primitivo (long) y trabajar con él de forma eficiente. Además,
es posible asignarlo a un objeto y entonces será tratado como tal
 Incluye mecanismos transparentes de boxing y unboxing (se ilustra más adelante)
 Los tipos primitivos sólo se tratan como objetos cuando la situación lo requiere, mientras
tanto pueden aplicárseles optimizaciones específicas
HOLA MUNDO

 1. using System;
 2. namespace Es.Udc.DotNet.CSharpTutorial
 3. {
 4. /* * Class HellowWorld * Description: simple C# example. */
 5. class HelloWorld {
 6. #region Test code. Uncomment for testing
 7. /* entry point */
 8. public static void Main() {
 9. Console.WriteLine("Hello World!");
 10. Console.ReadLine();
 11. }
 12. #endregion
 13. }

 14. }
HOLA MUNDO

 La línea "using System;" significa que accederemos a miembros del namespace System
 Static es un modificador que indica que se trata de un método de clase
 Main() es lo que es denomina el punto de entrada de la aplicación
 Necesita del modificador static para evitar que para llamarlo haya que crear algún objeto de la clase donde se haya
definido.
 Si necesita recibir parámetros:
 public static void Main(string args[])

 C# es sensible a las mayúsculas


 Los métodos y nombres de clases siguen sitáxis PascalCase (e.g.,FindByUserIdentifier(…))
 Los atributos siguen sitáxis camelCase (e.g., firstName)
INTRODUCCIÓN

 Sólo se admite herencia simple


 Se admite implementación de múltiples interfaces
 public class ClaseBase { … }
 public interface IInterfaz { … }
 public class ClaseDerivada : ClaseBase, IInterfaz { … }
LA CLASE SYSTEM.OBJECT

 Todos los tipos heredan de System.Object


 public class Object

 {
 public Object();
 public virtual bool Equals(object obj);
 public static bool Equals(object objA, object objB);
 public virtual int GetHashCode();
 public Type GetType();
 protected object MemberwiseClone();
 public static bool ReferenceEquals(object objA, object objB);
 public virtual string ToString();

 }
C# - TERMINACIÓN DE LÍNEA

 C#: la línea finaliza con un “ ; ”

//Una linea con mas de un renglon


string nombre = primerNombre +
apellido;
//El punto y coma indica FINAL de linea
C# - DECLARACIÓN DE BLOQUES

En C# los bloques se declaran entre llaves


class MainClass{
public static void Main(string[] args) {
Console.WriteLine("Hello World!");
}
}
NAMESPACES

 Declaración:
namespace <NombreEspacio>
{
<Definición tipos>
}

 Anidación de namespaces
 NmbEspacio1.NmbEspacio2.NmbEspacio3
;
 Referencia a namespaces externos
 using
 Alias: evita conflictos entre namespaces
 using <alias> = <NombreCompletoTipo>;
SISTEMA DE TIPOS UNIFICADO

 Tipos valor y referencia


SISTEMA DE TIPOS UNIFICADO

 Boxing & Unboxing

 Los tipos valor (struct, enum, int…) pueden ser convertidos en tipos
 referencia (y viceversa) de forma automática mediante Boxing (y
 Unboxing)
 Boxing:
 Encapsulación de tipo valor en tipo referencia
 Ej: la siguiente sentencia “envuelve” el valor 3 en un objeto
 int i = 3;
 object obj = i;
 Unboxing
 Proceso inverso al boxing. Tratamiento de tipo referencia como tipo valor
 Ej.: la siguiente sentencia “desenvuelve” el valor
 int x = (int) obj;
TIPOS PREDEFINIDOS
OPERADORES

 Aritméticos
Obtención de información sobre tipos
 +, -, *, /, % typeof(Type t)
Obtiene el objeto System.Type para un tipo
 Asignación <expression> is <type>
as
 +=, -=, *=, /=, %=, ++, --
Similar a proceso de casting, pero devuelve null en lugar de
 Comparación InvalidCastException
<expression> as <type> ==
 ==, !=, <, >, <=, >= if (<expression> is <type>) { (<type>) <expression> }
else { null }
 Lógicos Type t = typeof(SampleClass);
// Alternatively, you could use
 &, &&, |, ||, ~, !, ^
// SampleClass obj = new SampleClass();
// Type t = obj.GetType();

También podría gustarte