Las acciones que realiza un programa se expresan en instrucciones. Entre las acciones comunes se incluyen declarar variables, asignar valores, llamar a métodos, recorrer colecciones en bucle y crear una bifurcación a uno u otro bloque de código, en función de una condición determinada. El orden en el que se ejecutan las instrucciones en un programa se denomina flujo de control o flujo de ejecución. El flujo de control puede variar cada vez que se ejecuta un programa, en función de cómo reacciona el programa a la entrada que recibe en tiempo de ejecución.
Una instrucción puede constar de una sola línea de código que finaliza en un punto y coma o de una serie de instrucciones de una sola línea en un bloque. Un bloque de instrucciones se incluye entre llaves {} y puede contener bloques anidados. En el código siguiente se muestran dos ejemplos de instrucciones de una sola línea y un bloque de instrucciones de varias líneas:
static void Main()
{
// Declaración.
int contador;
// Asignación de lo declarado.
counter = 1;
// Error! Esto es una expresión, no una declaración de expresión.
// counter + 1;
// Las declaraciones de declaración con inicializadores son funcionalmente
// equivalente a la declaración de declaración seguida de la declaración de asignación:
int[] radios = { 15, 32, 108, 74, 9 }; // Declare e inicialice un arreglo.
const double pi = 3.14159; // Declare and inicialice la constante.
// por cada bloque de declaración que contenga multiples declaraciones.
foreach (int radio in radios)
{
// Declaración de sentencia con inicializador.
double circunferencia = pi * (2 * radio);
// Declaración de expresión (invocación de método). Una sola línea
// la declaración puede abarcar varias líneas de texto porque los saltos de línea
// se tratan como espacios en blanco, que el compilador ignora.
System.Console.WriteLine("El radio del circulo #{0} is {1}. Circunferencia = {2:N2}",
contador, redio, circunferencia);
// Expression statement (postfix increment).
contador++;
} // Fin del bloque de instrucciones foreach
} // Fin del cuerpo del método principal.
} // Fin de la clase SimpleStatements.
/*
Salida:
El radio del circulo #1 = 15. Circunferencia = 94.25
El radio del circulo #2 = 32. Circunferencia = 201.06
El radio del circulo #3 = 108. Circunferencia = 678.58
El radio del circulo #4 = 74. Circunferencia = 464.96
El radio del circulo #5 = 9. Circunferencia = 56.55
*/
Tipos de instrucciones
En la tabla siguiente se muestran los distintos tipos de instrucciones de C# y sus palabras clave asociadas, con vínculos a temas que incluyen más información:
Instrucciones de declaración
En el código siguiente se muestran ejemplos de declaraciones de variables con y sin una asignación inicial, y una declaración constante con la inicialización necesaria.
// Declaración de sentencia variable.
double area;
double radio = 2;
// Declaración de sentencia constante.
const double pi = 3.14159;
Instrucciones de expresión
En el código siguiente se muestran ejemplos de instrucciones de expresión, que incluyen la asignación, la creación de objetos con asignación y la invocación de método.
area = 3.14 * (radio * radio);
// Error. No hay sentencia porque no hay asignación:
//circ * 2;
// Expression statement (method invocation).
System.Console.WriteLine();
// Declaración de expresión (creación de un nuevo objeto).
System.Collections.Generic.List<string> strings =
new System.Collections.Generic.List<string>();
Instrucción vacía
En los ejemplos siguientes se muestran dos usos de una instrucción vacía:
void ProcesarMensajes()
{
while (ProcesarMensajes())
; // Sentencia aquí.
}
void F()
{
//...
if (terminado) goto exit;
//...
exit:
; // Sentencia aquí.
}
Instrucciones insertadas
Algunas instrucciones, por ejemplo, las instrucciones de iteración, siempre van seguidas de una instrucción insertada. Esta instrucción insertada puede ser una sola instrucción o varias instrucciones incluidas entre llaves {} en un bloque de instrucciones. Las instrucciones insertadas de una sola línea también pueden ir entre llaves {}, como se muestra en el siguiente ejemplo:
// Estilo recomendado. Declaración incorporada en bloque.
foreach (string s in System.IO.Directory.GetDirectories(
System.Environment.CurrentDirectory))
{
System.Console.WriteLine(s);
}
// No recomendado.
foreach (string s in System.IO.Directory.GetDirectories(
System.Environment.CurrentDirectory))
System.Console.WriteLine(s);
Una instrucción insertada que no está incluida entre llaves {} no puede ser una instrucción de declaración o una instrucción con etiqueta. Esto se muestra en el ejemplo siguiente:
if(pointB == true)
//Error CS1023:
int radius = 5;
Coloque la instrucción insertada en un bloque para solucionar el error:
if (b == true)
{
// OK:
System.DateTime d = System.DateTime.Now;
System.Console.WriteLine(d.ToLongDateString());
}
Bloques de instrucciones anidadas
Los bloques de instrucciones pueden anidarse, como se muestra en el código siguiente:
foreach (string s in System.IO.Directory.GetDirectories(
System.Environment.CurrentDirectory))
{
if (s.StartsWith("CSharp"))
{
if (s.EndsWith("FolderTemporal"))
{
return s;
}
}
}
return "No Encontrado.";
Instrucciones inaccesibles
Si el compilador determina que el flujo de control no puede alcanzar nunca una instrucción determinada bajo ninguna circunstancia, producirá una advertencia CS0162, como se muestra en el ejemplo siguiente:
// Un ejemplo simplificado de código inalcanzable.
const int val = 5;
if (val < 4)
{
System.Console.WriteLine("Nunca escribiré nada!."); //CS0162
}
Titanium Dive Knife - Steel Blade
ResponderBorrarThis razor is one of the most price of titanium popular and micro titanium trim most popular products for a very mild but effective safety razor! This unique design apple watch titanium features a design similar to the original Rating: 5 · 1 review micro touch trimmer · $69.95 · black titanium ring In stock