Estructuras de control
Creado por Yhoan Galeano
Instrucción if
Esta sentencia sirve para ejecutar unas instrucciones en caso de que se cumpla determinada condición.
using System;
namespace Ejemplo1
{
class Program
{
static void Main(string[] args)
{
string banano = "Amarillo ";
bool pelar;
if (banano.Equals("Amarillo"))
{
pelar = true;
}
else
{
pelar = false;
}
Console.WriteLine("El banano {0} fue pelado", pelar==true?"si":"no");
Console.ReadLine();
}
}
}
Instrucción switch
La instrucción switch es muy parecida a la estructura if-else-if, sólo que permite seleccionar entre varias alternativas de una manera más cómoda. Funciona de la siguiente manera: el valor de una expresión se prueba sucesivamente con una lista de constantes. Cuando se encuentra una coincidencia, se ejecuta la secuencia de instrucciones asociada con esa coincidencia.
using System;
namespace Ejemplo1
{
class Program
{
static void Main(string[] args)
{
string s = "+";
switch (s)
{
case "+":
Console.WriteLine("El resultado es {0}", 2 + 3);
break;
case "-":
Console.WriteLine("El resultado es {0}", 2 - 3);
break;
case "*":
Console.WriteLine("El resultado es {0}", 2 * 3);
break;
case "/":
Console.WriteLine("El resultado es {0}", 2 / 3);
break;
default:
Console.WriteLine("No te entiendo");
break;
}
}
}
}
Bucle for
El bucle for es idéntico al encontrado en los lenguajes Java y PHP. El formato general es
for(inicialización; condición; iteración) { instrucciones; }
using System;
namespace Ejemplo1
{
class Program
{
static void Main(string[] args)
{
int t; //el contador
for (t = 0; t < 10; t++)
{
Console.WriteLine(t);
}
for (int h = 0; h < 10; h++)
{
Console.WriteLine(h);
}
int i;
int j;
for (i = 0, j = 10; i < j; i++, j--)
{
Console.WriteLine("( {0} , {1} )", i, j);
}
Console.Read();
}
}
}
Bucle while
El bucle while es un bucle que se realiza mientras se cumpla determinada condición.
while( condición ) { instrucciones; }
using System;
namespace Ejemplo1
{
class Program
{
static void Main(string[] args)
{
int i = 0;
int t = 10;
while (i < 10 && t > 0)
{
Console.WriteLine("{0},{1}",i,t);
i = i + 1;
t--;
}
Console.Read();
}
}
}
Bucle do-while
Se trata de una ligera variante del bucle anterior, con la diferencia de que ahora primero se ejecutan las instrucciones y luego se evalúa la condición, de forma que tiene tiene una estructura:
do{ instrucciones; } while( condición );
using System;
namespace Ejemplo1
{
class Program
{
static void Main(string[] args)
{
string pelar = "no";
do
{
Console.WriteLine("se pelo el banano");
pelar = "si";
}
while (pelar.Equals("si"));
}
}
}
Bucle foreach
El bucle foreach se utiliza para hacer iteraciones sobre elementos de una colección, como pueden ser los enteros dentro de un arreglo de enteros.
using System;
namespace Ejemplo1
{
class Program
{
static void Main(string[] args)
{
int[,] arr = { { 1, 2 }, { 2, 3 } };
foreach (int elem in arr)
{
Console.WriteLine(elem);
}
Console.Read();
}
}
}
Operadores
Operadores Aritméticos
Operadores Lógicos
Primeros pasos con la consola de c#
- Console.Write(" ");
- Escribe en pantalla lo que se tenga dentro de los paréntesis, sin dejar salto de linea.
2. Console.WriteLine(" ");
- Escribe en pantalla lo que se tenga dentro de los paréntesis, dejando salto de linea.
3. Console.ReadLine();
- Nos permite capturar lo que esta escrito en toda una linea siendo finalizada por un (ENTER).
using System;
namespace Ejemplo1
{
class Program
{
static void Main(string[] args)
{
string nombre = null;
int edad = 0;
Console.Write("Ingrese su nombre por favor: ");
nombre = Console.ReadLine();
Console.Write("Ingrese su edad por favor: ");
edad = Int32.Parse(Console.ReadLine());
Console.WriteLine("Hola! {0}, tienes {1} años",nombre, edad.ToString());
Console.Read();
}
}
}
Para los comentarios se utiliza:
// Hola soy un comentario
/* Hola soy otro comentario */
Todas las sentencias tienen que acabar con ;
Los delimitadores de bloque son { y }.
Tipos de datos
Importancia de los tipos de datos
Esto significa que, en todas las operaciones, el compilador comprueba los tipos para ver su compatibilidad (C# es fuertemente tipado).
Las operaciones no válidas no se compilan. De esta forma se evitan muchos errores y se consigue una mayor fiabilidad.
Los tipos son la base de cualquier programa. Un tipo no es más que un espacio en el que se almacena una información, ya sean números, palabras o tu fecha de nacimiento.
Los tipos de datos son especialmente importantes en C# porque es un lenguaje con información de tipos.
Tipos definidos por el Sistema
- Construido sobre el Common Type System
- Conceptos básicos:
- Todo es un objeto
- Todo tiene herencia implícita de System.Object
- Distinción entre valores y referencias
- Por valor: tipos simples, enumeradores, estructuras
- Por referencia: interfaces, clases, vectores
Cada tipo de C# corresponde a un tipo en el Framework .Net
Tipos por valor
Enteros
using System;
class Enteros{
public static void Main()
{
int Minuto = 60; //segundos por minuto
int Hora = Minuto*60;
int Dia = Hora*24;
long Anio = Dia*365;
Console.WriteLine("Segundos en un dia: {0}", Dia);
Console.WriteLine("Segundos en un año: {0}", Anio);
}
}
Double
using System;
class Flotante{
public static void Main()
{
int a = 2;
double log2 = Math.Log(2);
double raiz2 = Math.Sqrt(2);
Console.WriteLine("El logaritmo de dos es {0}", log2 );
Console.WriteLine("La raiz de dos es {0}", raiz2 );
}
}
y la salida será la siguiente:
El logaritmo de dos es 0.693147180559945
La raiz de dos es 1.4142135623731
Decimal
El tipo decimal es un tipo "nuevo" en el sentido de que no tiene equivalente en C/C++. Es muy parecido a los tipo de coma flotante float y double.
En la aritmética de los tipos de coma flotante ordinarios, se pueden producir leves errores de redondeo. El tipo decimal elimina estos errores y puede representar correctamente hasta 28 lugares decimales. Esta capacidad para representar valores decimales sin errores de redondeo lo hace especialmente eficaz para cálculos monetarios.
Boolean
using System;
class Booleano{
public static void Main()
{
bool b;
b = true;
Console.WriteLine("b es {0}", b);
if(b)
{
Console.WriteLine("esto saldrá");
}
b = false;
if(b)
{
Console.WriteLine("esto no saldrá");
}
Console.WriteLine("2==2 es {0}", 2==2);
}
}
Para introducir un carácter se utilizan comillas simples, de forma de declarar un carácter sigue la estructura
Permite almacenar un carácter en formato unicode de 16 bits, lo que nos garantiza que los acentos se ven de forma adecuada y además permite la representación de otros alfabetos, como el griego, cirílico, etc.
char letra = 'a'
De igual forma que hemos hecho con los enteros, es posible declarar un arreglo de char
char[] cadena = {'a', 'b', 'c' };
Tipo Char
Array
Mi primer Array
class Program
{
static void Main()
{
// Use an array.
int[] values = new int[3];
values[0] = 5;
values[1] = values[0] * 2;
values[2] = values[1] * 2;
foreach (int value in values)
{
Console.WriteLine(value);
}
}
}
Tip # 1
class Program
{
static void Main()
{
// Create an array of three ints.
int[] array = { 10, 30, 50 };
foreach (int value in array)
{
Console.WriteLine(value);
}
}
}
Tip # 2
class Program
{
static void Main()
{
// Create an array of three ints.
int[] array = { 10, 30, 50 };
foreach (int value in array)
{
Console.WriteLine(value);
}
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array[i]);
}
}
}
Tip # 3
class Program
{
static void Main()
{
// Create string array of four references.
string[] array = new string[4];
array[0] = "DOT";
array[1] = "NET";
array[2] = "PERLS";
array[3] = 2014.ToString();
// Display.
foreach (string value in array)
{
Console.Write(value);
Console.Write("... ");
}
}
}
Tip # 4
class Program
{
static void Main()
{
int[] array = { -5, -6, -7 };
Console.WriteLine(Method(array));
}
static int Method(int[] array)
{
return array[0] * 2;
}
}
Tip # 5
class Program
{
static void Main()
{
// Write array from Method.
Console.WriteLine(string.Join(" ", Method()));
}
static string[] Method()
{
string[] array = new string[2];
array[0] = "THANK";
array[1] = "YOU";
return array;
}
}
Tip # 6
class Program
{
static void Main()
{
// Simple sort call.
int[] values = { 4, 7, 2, 0 };
Array.Sort(values);
foreach (int value in values)
{
Console.Write(value);
Console.Write(' ');
}
Console.WriteLine();
}
}
Tip # 7
class Program
{
static void Main()
{
int[] integerArray = new int[]
{
4,
6,
8,
1,
3
};
//
// Display the array
//
Console.WriteLine("--- Integer array before ---");
foreach (int value in integerArray)
{
Console.WriteLine(value);
}
//
// Clear all elements in the array.
//
Array.Clear(integerArray, 0, integerArray.Length);
//
// Display the array
//
Console.WriteLine("--- Integer array after ---");
foreach (int value in integerArray)
{
Console.WriteLine(value);
}
}
}
Tip # 8
class Program
{
static void Main()
{
string[] array = { "cat", "dot", "perls" };
// Use Array.Exists in different ways.
bool a = Array.Exists(array, element => element == "perls");
bool b = Array.Exists(array, element => element == "python");
bool c = Array.Exists(array, element => element.StartsWith("d"));
bool d = Array.Exists(array, element => element.StartsWith("x"));
// Display bools.
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
}
}
Tip # 9
class Program
{
static void Main()
{
// Input array.
int[] array = { 1, 2, 3 };
// Print.
foreach (int value in array)
{
Console.WriteLine(value);
}
Console.WriteLine();
// Reverse.
Array.Reverse(array);
// Print.
foreach (int value in array)
{
Console.WriteLine(value);
}
Console.WriteLine();
// Reverse again.
Array.Reverse(array);
// Print.
foreach (int value in array)
{
Console.WriteLine(value);
}
}
}
C# ToLower
C# ToCharArray
C# Substring
C# Split
C# Replace
C# Remove
C# String Length
C# Join
C# Contains
C# Compare
C# CompareTo
C# EndsWith
C# string.Empty
C# string.Format
C# String Equals
C# IndexOf
C# Trim
C# ToUpper
Temas por revisar de la clase String
Ejemplos de los métodos de la clase String
Compare
static void Main(string[] args)
{
string s1 = "A";
string s2 = "B";
Console.WriteLine("Comparación entre '{0}' y '{1}': {2}",
s1, s2, String.Compare(s1, s2, true));
Console.ReadLine();
}
CompareTo
static void Main(string[] args)
{
string s1 = "A";
string s2 = "B";
Console.WriteLine("Comparación entre '{0}' y '{1}': {2}",
s1, s2, s1.CompareTo(s2));
Console.ReadLine();
}
EndsWith
static void Main(string[] args)
{
string input = "s.com";
string[] arr = new string[]{
".net",
".com",
".org"
};
foreach (string item in arr)
{
if (input.EndsWith(item))
{
Console.WriteLine(item);
}
return;
}
}
Empty
static void Main(string[] args)
{
string ross = "";
string ross3 = String.Empty;
if (String.IsNullOrEmpty(ross))
{
Console.WriteLine("Esta vacia");
}
if (!String.IsNullOrEmpty(ross))
{
Console.WriteLine("Esta llena");
}
string ross2 = " ";
if (String.IsNullOrWhiteSpace(ross2))
{
Console.WriteLine("Tiene espacios");
}
string[] values = { null, String.Empty, "ABC" };
foreach (string value in values)
{
Console.WriteLine(String.IsNullOrWhiteSpace(value));
}
Console.ReadLine();
}
Format
static void Main(string[] args)
{
string cadena = "";
int valor2 = 100;
DateTime valor3 = new DateTime(2015, 02, 04);
string resultado = String.Format("{0}: {1}: {2}", cadena, valor2, valor3);
Console.WriteLine(resultado);
Console.ReadLine();
}
Equals
static void Main(string[] args)
{
int m = 1;
if (m.Equals(2))
{
Console.WriteLine("Tu tienes {0} años", m);
}
string fruta = "Banano";
if (fruta.Equals("Banano"))
{
Console.WriteLine("Tu fruta preferida es: {0}", fruta);
}
Console.ReadLine();
}
IndexOf
static void Main(string[] args)
{
string value = "Hola Mundo";
//- 1 no encuentra la palabra
// si lo encuentra la devuelva la posicion de la letra
if (value.IndexOf("Mundo") != -1)
{
Console.WriteLine(value.IndexOf("Mundo"));
}
Console.ReadLine();
}
Trim
static void Main(string[] args)
{
string palabra = " Hola Rossember ";
Console.WriteLine(palabra.Trim());
Console.ReadLine();
}
ToUpper
static void Main(string[] args)
{
string palabra = "Hola Mundo";
Console.WriteLine(palabra.ToUpper());
Console.ReadLine();
}
ToLower
static void Main(string[] args)
{
string palabra = "Hola Mundo";
Console.WriteLine(palabra.ToLower());
Console.ReadLine();
}
ToCharArray
static void Main(string[] args)
{
string palabra = "Hola Mundo";
char[] valores = palabra.ToCharArray();
int size = valores.Length;
Console.WriteLine(valores[6]);
Console.ReadLine();
}
Substring
static void Main(string[] args)
{
string palabra = "Hola Mundo";
Console.WriteLine(palabra.Substring(5,1));
Console.ReadLine();
}
Remove
static void Main(string[] args)
{
string prueba1 = "0123456";
string resultado1 = prueba.Remove(3);
Console.WriteLine(resultado1);
Console.ReadLine();
}
Replace
static void Main(string[] args)
{
string saludo = "Bievanidos a C#";
Console.WriteLine(saludo.Length);
Console.ReadLine();
}
Remove
static void Main(string[] args)
{
string prueba1 = "0123456";
string resultado1 = prueba.Remove(3);
Console.WriteLine(resultado1);
Console.ReadLine();
}
Length
static void Main(string[] args)
{
string saludo = "Bievanidos a C#";
Console.WriteLine(saludo.Length);
Console.ReadLine();
}
Join
static void Main(string[] args)
{
string[] arr = { "Uno", "Dos", "Tres" };
Console.WriteLine(string.Join(",", arr));
Console.WriteLine(String.Join(",", arr));
Console.ReadLine();
}
Contains
static void Main(string[] args)
{
string saludo = "Bievanidos a C#";
bool contains = input.Contains("C#");
Console.Write("Contiene 'C#': ");
Console.WriteLine(contains);
Console.ReadLine();
}
Concat String
static void Main()
{
string s1 = "string1";
// A.
// Concat 4 strings, each in a separate statement.
{
string s2 = "string1" + s1;
s2 += "string2";
s2 += s1;
Console.WriteLine(s2);
}
// B.
// Concat 4 strings, in one statement.
{
string s2 = string.Concat("string1",
s1,
"string2",
s1);
Console.WriteLine(s2);
}
// C.
// Concat 4 strings using a format string.
{
string s2 = string.Format("string1{0}string2{0}",
s1);
Console.WriteLine(s2);
}
// D.
// Concat 4 strings, three at a time then one.
{
string s2 = "string1" + s1 + "string2";
s2 += s1;
Console.WriteLine(s2);
}
// E.
// Concat 4 strings, one at a time with StringBuilder.
{
string s2 = new StringBuilder("string1").Append(
s1).Append("string2").Append(s1).ToString();
Console.WriteLine(s2);
}
Console.ReadLine();
}
Tuple
static void Main(string[] args)
{
// Create array of 5-tuples with population data for three U.S. cities, 1940-1950.
Tuple<string, DateTime, int>[] cities =
{
Tuple.Create("Medellin", new DateTime(1940, 1, 1), 1940),
Tuple.Create("Los Angeles", new DateTime(1940, 1, 1), 1940)
};
// Display header
string header = String.Format("---{0}--- ---{1}--- ---{2}---\n",
"Ciudad", "Fecha fundación", "Año fundación");
Console.WriteLine(header);
string output;
foreach (var city in cities)
{
output = String.Format("--{0}-- --{1:yyyy-mm-dd}-- --{2}--",
city.Item1, city.Item2, city.Item3);
Console.WriteLine(output);
}
Console.ReadLine();
}
Mis primeros pasos en c#
By yhoan andres galeano urrea
Mis primeros pasos en c#
Juan David y Yhoan Galeano
- 1,808