Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DECLARAR VARIABLES
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
int y, z;
public Form1()
{
InitializeComponent();
int a, b = 10;
double c, d;
float e, f;
string g = "hola";
}
}
}
TIPOS DE DATOS
Tipo de datos Intervalo
byte 0 .. 255
sbyte -128 .. 127
short -32,768 .. 32,767
ushort 0 .. 65,535
int -2,147,483,648 .. 2,147,483,647
uint 0 .. 4,294,967,295
long -9,223,372,036,854,775,808 .. 9,223,372,036,854,775,807
ulong 0 .. 18,446,744,073,709,551,615
float -3.402823e38 .. 3.402823e38
double -1.79769313486232e308 .. 1.79769313486232e308
decimal -79228162514264337593543950335 .. 79228162514264337593543950335
char Un carácter Unicode.
string Una cadena de caracteres Unicode.
bool True o False.
object Un objeto.
- Pág. 1 de 8 -
Psy3com - C#
OPERADORES
Expresión Descripción
x.y Acceso a miembros
f(x) Invocación de método y delegado
a[x] Acceso a matriz e indizador
x++ Incremento postfijo
x-- Decremento postfijo
new T(...) Creación de objeto y delegado
new T(...){...} Creación de objetos con inicializador. Vea Inicializadores de objeto y de colección (Guía de programación de C#).
new {...} Inicializador de objeto anónimo. Vea Tipos anónimos (Guía de programación de C#).
new T[...] Creación de matrices. Vea Matrices (Guía de programación de C#).
typeof(T) Obtener el objeto System.Type para T
checked(x) Evaluar expresión en contexto comprobado
unchecked(x) Evaluar expresión en contexto no comprobado
default (T) Obtener valor predeterminado de tipo T
delegate {} Función anónima (método anónimo)
Operadores unarios
Expresión Descripción
+x Identidad
-x Negación
!x Negación lógica
~x Negación bit a bit
++x Incremento prefijo
--x Decremento prefijo
(T)x Convertir explícitamente x al tipo T
Operadores de multiplicación
Expresión Descripción
* Multiplicación
/ División
% Resto
Operadores aditivos
Expresión Descripción
x + y Suma, concatenación de cadenas, combinación de delegados
x - y Resta, eliminación de delegados
Operadores de desplazamiento
Expresión Descripción
x << y Desplazamiento a la izquierda
x >> y Desplazamiento a la derecha
- Pág. 2 de 8 -
Psy3com - C#
Operadores de igualdad
Expresión Descripción
x == y Igual
x != y No igual
- Pág. 3 de 8 -
Psy3com - C#
ESTRUCTURAS DE CONTROL
IF
if (condición)
{
secuencia de expresiones
}
else
{
secuencia de expresiones
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int i;
for (i = -5; i <= 5; i++)
{
Console.Write("Probando " + i + " : ");
if (i < 0) Console.WriteLine("Negativo");
else Console.WriteLine("Positivo");
}
}
}
}
IF ANIDADO
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
if (i == 10)
{
if (j < 20)
a = b;
if (k > 100)
c = d;
else // este else se refiere al if(k>100)
a = c;
}
else
a = d; // este else se refiere al if( i == 10)
}
}
}
LA SENTENCIA IF ELSE IF
if (condición)
instruccion;
else if (condición)
instrucción;
else if (condición)
instucción;
.
.
.
- Pág. 4 de 8 -
Psy3com - C#
else
instrucción;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int num;
for (num = 2; num < 12; num++)
{
if ((num % 2) == 0)
Console.WriteLine("El factor más pequeño de " + num + " es 2.");
else if ((num % 3) == 0)
Console.WriteLine("El factor más pequeño de " + num + " is 3.");
else if ((num % 5) == 0)
Console.WriteLine("El factor más pequeño de " + num + " is 5.");
else if ((num % 7) == 0)
Console.WriteLine("El factor más pequeño de " + num + " is 7.");
else
Console.WriteLine(num + " no es divisible por 2, 3, 5, o 7.");
}
}
}
}
SWITCH
switch(expresión)
{
case constant1:
statement sequence
break;
case constant2:
statement sequence
break;
case constant3:
statement sequence
break;
.
.
.
default:
statement sequence
break;
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int i;
for (i = 0; i < 10; i++)
switch (i)
{
case 0:
Console.WriteLine("i es cero");
break;
case 1:
Console.WriteLine("i es uno");
break;
case 2:
Console.WriteLine("i es dos");
break;
- Pág. 5 de 8 -
Psy3com - C#
case 3:
Console.WriteLine("i es tres");
break;
case 4:
Console.WriteLine("i es cuatro");
break;
default:
Console.WriteLine("i es cinco o más");
}
}
}
}
El ciclo for
El instrucción for es una de las sentencias más poderosas y flexibles para los ciclos. En su forma general la instrucción para
repetir una simple instrucción es:
for(inicialización; condición; iteración) sentencia;
Para repetir un bloque de instrucciones la forma general es:
for(inicialización; condición; iteración)
{
secuencia de instrucciones;
}
using System;
class DecrFor {
static void Main() {
int x;
for(x = 100; x > -100; x -= 5)
Console.WriteLine(x);
}
}
}
En el ejemplo anterior se suman los números del 1 al 100. La variable i se ha declarado e inicializado dentro del ciclo.
El ciclo infinito
Usted puede crear un ciclo infinito (un ciclo que nunca termina) usando el for dejando la expresión de condición vacía. Por
ejemplo :
for(;;) // ciclo intencionalmente infinito
{
//...
}
El ciclo while
while (condición) sentencia;
using System;
class WhileDemo {
static void Main() {
int num;
int mag;
num = 435679;
mag = 0;
Console.WriteLine("Número: " + num);
while(num > 0) {
mag++;
- Pág. 6 de 8 -
Psy3com - C#
El ciclo do-while
do {
sentencias;
} while(condición)
using System;
class DoWhileDemo {
static void Main() {
int num;
int nextdigit;
num = 198;
Console.WriteLine("Número: " + num);
Console.Write("Número en orden inverso: ");
do {
nextdigit = num % 10;
Console.Write(nextdigit);
num = num / 10;
} while(num > 0);
Console.WriteLine();
}
}
El ciclo foreach
El ciclo foreach recorre todos los elementos de una colección. Una colección es un grupo de objetos. C# define varios tipos
de colecciones, una de las cuales son los Arreglos o Matrices. Examinaremos posteriormente el ciclo foreach cuando
describamos los arreglos.
using System;
class BreakDemo {
static void Main() {
// Usar break para salir del ciclo
for(int i=-10; i <= 10; i++) {
if(i > 0) break; // terminar el ciclo cuando i sea positivo
Console.Write(i + " ");
}
Console.WriteLine("Hecho");
}
}
Usando continue
- Pág. 7 de 8 -
Psy3com - C#
Es posible forzar una iteración temprana de un ciclo, sin pasar por la estructura del bucle de control normal. Esto se logra
utilizando continue. La sentencia continue obliga a la siguiente iteración de la ciclo que tendrá lugar, saltándose cualquier
código en el medio. Por lo tanto, continue es esencialmente el complemento de break. Por ejemplo, el siguiente programa
utiliza continue ayudando a imprimir los números pares entre 0 y 100.
// Usar continue.
using System;
class ContDemo {
static void Main() {
// Imprimir número pares del 0 al 100.
for(int i = 0; i <= 100; i++) {
if((i%2) != 0) continue; // iterate
Console.WriteLine(i);
}
}
}
Nótese que en el programa anterior se evalúa si el residuo de la división del número almacenado en la variable i entre 2 es
diferente de 0 se fuerza la siguiente iteración, si el valor es cero (el número es par) se imprime el valor del número.
La instrucción return
Esta instrucción muy usada en los programas de C# se utiliza para salir de un método. Este también puede ser usado para
regresar un valor.
La sentencia goto
El goto es una sentencia de salto incondicional en C#. Cuando se encuentra el programa salta a una localización definida por
el goto. La sentencia cayó en desgracia con muchos programadores años atrás, ya que fomentó la creación de código
spaguetti. Sin embargo, el goto es todavía usado en ocasiones y de manera eficiente. No se debe juzgar la forma de
programar de algunos pero si se puede reducir su uso es mejor. Un ejemplo de como se utilizaría sería el siguiente
fragmento de código. Note que el goto requiere siempre de un label que funciona como un identificador válido de C#.
x = 1;
loop1:
x++;
if(x < 100) goto loop1;
- Pág. 8 de 8 -