C#

C#

caracteristicas

caracteristicas

Algunas de las características del lenguaje de programación C# son: Su código se puede tratar íntegramente como un objeto. Su sintaxis es muy similar a la del JAVA. Es un lenguaje orientado a objetos y a componentes. Armoniza la productividad del Visual Basic con el poder y la flexibilidad del C++. Ahorramos tiempo en la programación ya que tiene una librería de clases muy completa y bien diseñada.

Definición

Definición

El lenguaje de programación C# fue creado por el danés Anders Hejlsberg que diseño también los lenguajes Turbo Pascal y Delphi. El C# (pronunciado en inglés “C sharp” o en español “C sostenido”) es un lenguaje de programación orientado a objetos. Con este nuevo lenguaje se quiso mejorar con respecto de los dos lenguajes anteriores de los que deriva el C, y el C++.

Historia

Historia

Durante el desarrollo de la plataforma .NET, las bibliotecas de clases fueron escritas originalmente usando un sistema de código gestionado llamado Simple Managed C (SMC). En enero de 1999, Anders Hejlsberg formó un equipo con la misión de desarrollar un nuevo lenguaje de programación llamado Cool (Lenguaje C orientado a objetos). Este nombre tuvo que ser cambiado debido a problemas de marca, pasando a llamarse C#.1 La biblioteca de clases de la plataforma .NET fue migrada entonces al nuevo lenguaje, este después fue modificado por Joseth M.

Hejlsberg lideró el proyecto de desarrollo de C#. Anteriormente, ya había participado en el desarrollo de otros lenguajes como Turbo Pascal, Delphi y J++.

Variables

Concepto

Las variables son identificadores asociados a valores. Se declaran indicando el tipo de dato que almacenará y su identificador.
Un identificador puede:
• empezar por "_".

• contener caracteres Unicode en mayúsculas y minúsculas (sensible a mayúsculas y minúsculas).

Un identificador no puede:

• empezar por un número.

• empezar por un símbolo, ni aunque sea una palabra clave.

• contener más de 511 caracteres.

Tipos

Usos

Usos

Funcionamiento

Funcionamiento

Instruciones de control

- IF-ELSE
if (i == 2)
{
// ...
}

else if (i == 3)
{
// ...
}

else
{

// ...
}

- SWITCH

switch (i)
{
case 1:
...
break;

case 2:

case 3:
...
break;

default:
...
break;
}

- FOR
for (int i = 0; i < 10; i++)
{
// ...
}

- WHILE
while (i < 10)
{
// ...

}

do-while
do
{
// ...

} while (true);

- FOREACH
foreach (char c in charList)
{
// ...
}

o REF
void PassRef(ref int x)
{
if (x == 2)
{
x = 10;
}
}
int z = 0;

PassRef(ref z);

o OUT

void PassOut(out int x)
{
x = 2;
}
int z;

PassOut(out z);

o PARAMS

int MaxVal(char c, params int[] nums)
{
// ...
}
int a = 1;

MaxVal('a', 23, 3, a, -12); // El primer parámetro es obligatorio, seguidamente se pueden

poner tantos números enteros como se quiera

o SOBRECARGA DE MÉTODOS

int Suma(int x, int y)
{
return x + y;
}
int Suma(int x, int y, int z)
{
return x + y + z;
}
int Suma(params int[] numeros)
{
int Sumatoria = 0;
foreach(int c in numeros)
Sumatoria += c;
return Sumatoria;
}

Suma(1, 2); // Llamará al primer método.

Suma(1, 2, 3); // Llamará al segundo método.

Suma(1, 2, 3, 4, 5, 6) // Llamará al tercer método.

o MAIN

public static void Main(string[] args)
{
// ...
}

Metodos

Matrices

Declarar una matriz:
int[] intArray = new int[5];
Declarar e inicializar una matriz (el tamaño de la matriz se puede omitir):
int[] intArray = new int[] {1, 2, 3, 4, 5};
Acceder a un elemento:
intArray[2]; // Retornará el valor '3'
Declarar una matriz multidimensional:
int[,] intMultiArray = new int[3, 2]; // 3 filas y 2 columnas
Declarar e inicializar una matriz multidimensional (el tamaño de la matriz se puede omitir):
int[,] intMultiArray = new int[,] { {1, 2}, {3, 4}, {5, 6} };
Acceder a un elemento de una matriz multidimensional:
intMultiArray[2, 0]; // Retornará el valor '5'

Para entender el potencial de C# y lo que podemos ser capaces de hacer con ello, sirve citar los grandes proyectos que lo han aprovechado y entender cómo se usan en el día a día. Como una curiosidad, para nombrar este lenguaje los ingenieros de Microsoft se inspiraron en la nota musical C# - un semitono más alto que Do, o C en inglés (el nombre del programa del cual deriva C#). Existen muchas aplicaciones en cuya creación C# ha sido usado solo o en conjunto con otros lenguajes de programación y quiero destacar algunas de las mejores:

Skype para Windows Phone
La ubicua aplicación Skype está disponible en múltiples dispositivos como computadoras Windows, Mac

Skype para Windows Phone
La ubicua aplicación Skype está disponible en múltiples dispositivos como computadoras Windows, Mac y Linux, móviles, XBox, Smart TVs, etc. Para desarrollarla independientemente en cada plataforma, ha sido necesario emplear el lenguaje de programación más adecuado para cada caso. Por ejemplo, para la versión móvil de Skype en Android se empleó Java, para los clientes iOS Objective C, y C# para la versión móvil en Windows Phone

Stack Overflow
Una de las comunidades sobre programación más populares del mundo ha desarrollado su entorno trabajando con C#

Stack Overflow
Una de las comunidades sobre programación más populares del mundo ha desarrollado su entorno trabajando con C#, SQL Server y Windows IIS. Junto con otras librerías, dan origen a un producto quizás no muy vistoso para los amantes de las plataformas con bonitos gráficos, pero sí muy funcional. Es un punto que vale la pena destacar: a veces para crear un producto exitoso no necesitas usar un lenguaje establecido, sino el que más resuelva tus problemas de desarrollo y cuyo resultado sea muy funcional para tus usuarios.

a
Microsoft Visual Studio
La popular solución para el desarrollo multiplataforma de Microsoft integra C# junto con Windows Perf

Microsoft Visual Studio
La popular solución para el desarrollo multiplataforma de Microsoft integra C# junto con Windows Performance Toolkit (WPT), C++ y muchos más, haciendo de ella una herramienta muy potente para el desarrollo de software profesional. En este entorno se trabaja mejor la integración de C# con otras plataformas. Se trata de una muy buena herramienta, quizás no muy valorada por la comunidad de desarrolladores debido a sus antecedentes con Microsoft, pero sí hay que revisarla porque es muy completa.