Documentos de Académico
Documentos de Profesional
Documentos de Cultura
C#
Es un lenguaje de programación diseñado por Microsoft. Es un componente fundamental de
la plataforma .NET de Microsoft y se utiliza principalmente para desarrollar aplicaciones de
escritorio, aplicaciones web, juegos y software empresarial.
Algunas características importantes de C# incluyen:
Orientación a Objetos: C# es un lenguaje de programación orientado a objetos, lo que
significa que se organiza alrededor de objetos y clases que representan conceptos del
mundo real.
Tipado Estático: C# es un lenguaje estático, lo que significa que los tipos de datos deben ser
declarados explícitamente antes de su uso.
Multiplataforma: Aunque C# fue inicialmente diseñado para el ecosistema Windows, con el
tiempo Microsoft ha desarrollado versiones multiplataforma del lenguaje y del entorno de
ejecución, permitiendo a los desarrolladores crear aplicaciones que se ejecutan en sistemas
operativos diferentes, como Windows, macOS y Linux.
Integración con .NET: C# está estrechamente ligado a la plataforma .NET, que proporciona un
amplio conjunto de bibliotecas y herramientas para el desarrollo de aplicaciones.
Seguridad y Control de Memoria: C# cuenta con un recolector de basura (garbagecollector)
que gestiona automáticamente la liberación de memoria, lo que ayuda a prevenir fugas de
memoria y errores relacionados.
Sintaxis Familiar: La sintaxis de C# está inspirada en C y C++, por lo que si tienes experiencia
con estos lenguajes, encontrarás muchas similitudes.
Amplia Comunidad y Ecosistema: C# cuenta con una comunidad activa de desarrolladores y
una gran cantidad de recursos en línea, incluyendo tutoriales, foros y bibliotecas de código
abierto.
Que es .NET
Es una plataforma de desarrollo de software creada por Microsoft. Proporciona un entorno
y una serie de herramientas que permiten a los programadores crear variedad de
aplicaciones, desde aplicaciones de escritorio hasta aplicaciones web y servicios en la nube.
La plataforma .NET consta de varios componentes esenciales:
Common Language Runtime: Es el entorno de ejecución que gestiona la ejecución de
código .NET. Proporciona características como la administración de memoria, la recolección
de basura y la administración de hilos, entre otros.
Biblioteca de Clases .NET (Framework Class Library): Es una colección extensa de clases,
interfaces y métodos que los desarrolladores pueden utilizar para realizar tareas comunes,
como manipular cadenas, trabajar con archivos y directorios, realizar operaciones de red,
etc.
Lenguajes de Programación: .NET es compatible con varios lenguajes de programación,
incluyendo C#, VB.NET y otros. Esto significa que los desarrolladores pueden elegir el
lenguaje que mejor se adapte a sus necesidades y preferencias, pero todos comparten la
misma infraestructura y bibliotecas.
Herramientas de Desarrollo: Microsoft proporciona un conjunto de herramientas de
desarrollo integradas (como Visual Studio y Visual Studio Code) que facilitan la creación,
depuración y mantenimiento de aplicaciones .NET.
ASP.NET y Windows Forms: ASP.NET es un marco para desarrollar aplicaciones web y
servicios en la plataforma .NET. Windows Forms es un marco para construir aplicaciones de
escritorio basadas en ventanas.
Azure y Servicios en la Nube: .NET se integra estrechamente con los servicios en la nube de
Microsoft a través de Azure, lo que permite a los desarrolladores construir y desplegar
aplicaciones en la nube de manera eficiente.
Datos primitivos en c#
byte: Representa números enteros sin signo de 8 bits (0 a 255).
sbyte: Representa números enteros con signo de 8 bits (-128 a 127).
short: Representa números enteros con signo de 16 bits (-32,768 a 32,767).
ushort: Representa números enteros sin signo de 16 bits (0 a 65,535).
int: Representa números enteros con signo de 32 bits (-2,147,483,648 a 2,147,483,647).
uint: Representa números enteros sin signo de 32 bits (0 a 4,294,967,295).
long: Representa números enteros con signo de 64 bits (-9,223,372,036,854,775,808 a
9,223,372,036,854,775,807).
ulong: Representa números enteros sin signo de 64 bits (0 a 18,446,744,073,709,551,615).
Tipos Numéricos de Punto Flotante:
float: Representa números de punto flotante de precisión simple de 32 bits.
double: Representa números de punto flotante de precisión doble de 64 bits.
decimal: Representa números de punto flotante de alta precisión y rango extendido.
Tipo Caracter:
char: Representa un único carácter Unicode (16 bits).
Tipo Booleano:
bool: Representa un valor booleano, que puede ser true (verdadero) o false (falso).
Tipo Cadena:
string: Representa una secuencia de caracteres Unicode.
Tipo Objeto Nulo:
null: Representa una referencia nula a un objeto. Es utilizado para indicar que una variable
no apunta a ningún objeto en particular.
Que es un dato pasado por referencia y por valor
En programación, cuando pasas un dato a una función o método, este puede hacerlo de dos
maneras: por valor o por referencia. Estas dos formas de pasar datos determinan cómo se
manipulan y almacenan en la memoria durante la ejecución del programa.
datos son por defectos pasados por referencia y cuales por valor
Los tipos de datos primitivos y estructuras son pasados por valor por defecto.
Esto incluye tipos como int, double, char, bool, así como las estructuras que defines, como
struct.
Que es una clase
En programación, una clase es una plantilla o un plano para crear objetos. Representa un
conjunto de propiedades y métodos que definen el comportamiento y las características de
los objetos que se pueden crear a partir de ella. Las clases son uno de los conceptos
fundamentales de la programación orientada a objetos (OOP).
Una clase puede contener:
Atributos (o Propiedades): Representan las características o datos que describen el estado
de un objeto. Por ejemplo, en una clase "Persona", los atributos podrían ser el nombre, la
edad, el género, etc.
Métodos: Representan las acciones o funciones que un objeto puede realizar. Estos métodos
pueden interactuar con los atributos de la clase y realizar operaciones específicas. Por
ejemplo, en una clase "Persona", los métodos podrían ser "caminar", "hablar", "comer", etc.
Constructores: Son métodos especiales que se utilizan para inicializar un objeto cuando se
crea una instancia de la clase. Permiten asignar valores iniciales a los atributos.
Destructor (opcional): Es un método especial que se ejecuta cuando un objeto es destruido
o liberado de la memoria.
que es una propiedad
En programación, una propiedad es un miembro de una clase que proporciona una forma de
acceder y modificar el estado interno (los atributos) de un objeto. Es una forma de
encapsular el acceso a los datos de un objeto y permitir cierto nivel de control sobre cómo
se obtienen y establecen esos datos.
Las propiedades son una parte importante de la programación orientada a objetos (OOP) y
se utilizan para mantener la integridad de los datos y facilitar la interacción con objetos.
En términos más sencillos, puedes pensar en una propiedad como una especie de "puente"
que te permite interactuar con los datos de una clase de manera controlada. Una propiedad
tiene un nombre, un tipo de dato y puede tener un método de acceso que define cómo se
puede leer o escribir el valor asociado.
Cuáles son los pilares de la programación orientada a objeto (POO)
La programación orientada a objetos (POO) se basa en cuatro pilares fundamentales que
guían la forma en que se estructuran y se organizan los programas. Estos pilares son:
Abstracción:
La abstracción consiste en identificar las características y comportamientos esenciales de un
objeto del mundo real y representarlos en el código de manera simplificada.
Permite centrarse en los detalles relevantes y ocultar los detalles complejos o menos
importantes. Por ejemplo, en una clase "Coche", la abstracción podría incluir características
como el modelo, la marca y el color, así como comportamientos como arrancar, detenerse y
acelerar.
Encapsulamiento:
El encapsulamiento es el principio que sugiere que los datos (atributos) y las operaciones
(métodos) que trabajan en esos datos deben estar encapsulados juntos en una unidad
llamada clase.
Los atributos de una clase deben ser privados y solo deben ser accesibles y modificables a
través de métodos de la clase (usualmente llamados getters y setters). Esto proporciona un
nivel de protección y control sobre los datos.
Herencia:
La herencia permite que una clase (llamada subclase o clase derivada) herede los atributos y
métodos de otra clase (llamada superclase o clase base).
Esto fomenta la reutilización del código, ya que las subclases pueden extender o modificar el
comportamiento de la clase base y, al mismo tiempo, heredar sus características
fundamentales.
Polimorfismo:
El polimorfismo se refiere a la capacidad de una clase para presentar la misma interfaz para
diferentes tipos de datos.
Esto permite que un método o función pueda comportarse de manera diferente según el
tipo de objeto que lo llama. Por ejemplo, si una función espera un objeto de tipo "Animal",
puede trabajar con objetos de subclases como "Perro", "Gato", etc., sin necesidad de saber
el tipo específico en tiempo de compilación.
que es encapsulamiento?
El encapsulamiento es uno de los cuatro pilares fundamentales de la programación
orientada a objetos (POO) y se refiere al principio de organizar el código en unidades
llamadas clases, donde los datos (atributos) y las operaciones (métodos) que trabajan en
esos datos están contenidos y protegidos dentro de esa unidad.
que es herencia?
La herencia es uno de los pilares fundamentales de la programación orientada a objetos
(POO) y se refiere a la capacidad de una clase de heredar características (atributos y
métodos) de otra clase. La clase que hereda se conoce como subclase o clase derivada, y la
clase de la que hereda se conoce como superclase o clase base.
que son los modificadores de acceso y cuales son?
son palabras clave en la programación que determinan el alcance y la visibilidad de los
miembros (atributos y métodos) de una clase. Controlan qué partes del código pueden
acceder o modificar esos miembros. Estos son
public
private
protected
internal
protected internal
private protected