C Declaraciones de control agudo


El software necesita una forma de tomar decisiones a medida que avanza en la ejecución del código. Aquí es donde entra en juego el flujo de control. El flujo de control del programa se nos proporciona mediante el uso de declaraciones de control. Estas son las palabras clave especiales en el lenguaje C # que permiten al programador configurar cosas como ramificación, bucle e incluso saltos completos a nuevos puntos en el programa durante la ejecución. Echemos un vistazo a estas palabras clave y construcciones como if, switch, do while, for, foreach, while, break, return y algunas otras.


La ifdeclaración de C #

Al usar una ifdeclaración en un programa, un desarrollador puede tomar una decisión basada en una determinada condición. Imagina llegar a una bifurcación en el camino. ¿Qué camino eliges? En su cabeza, probablemente evaluará algunas condiciones. Si voy a la izquierda, llegaré a tiempo al destino. Si voy a la derecha, el paisaje será mejor. Entonces decides ir bien como lo haría cualquier persona racional. La ifdeclaración en C # nos permite hacer este tipo de cosas en código. La instrucción if selecciona una rama para su ejecución en función del valor de una expresión booleana. Esa es una manera elegante de decir, si algo es cierto, haga esto, de lo contrario haga eso. Aquí hay un ejemplo en código C #.

Aquí hay otro ejemplo de la declaración if que demuestra que a veces no es necesario incluir llaves.

Podemos ver en el fragmento de arriba que no se utilizan llaves para rodear la llamada a StayHome (). Sin embargo, en la mayoría de los casos, se considera un buen estilo de codificación el uso de llaves porque hacen que el código sea más fácil de mantener y más legible. Solo puede omitir las llaves cuando solo hay una línea de código para evaluar. Las llaves siempre son necesarias si necesita ejecutar más de una declaración. Entonces, al configurar un bloque de código, o varias líneas de código, rodee eso con las llaves. Si no lo hace, solo se ejecutará la primera línea después de la instrucción if. Si la primera expresión dentro de una instrucción if devuelve falso, digamos que age es 17, entonces no se llama a StayHome (). El programa saltará a la siguiente declaración if para evaluar esa. Si eso es cierto, usted GoToSchool ().


Anidando si las declaraciones

Puede anidar si las declaraciones si lo desea. En el siguiente código, el programa solo escribirá que “El artículo está en oferta” si ambas ifcondiciones se evalúan como verdaderas. Debe tener cuidado al anidar varias ifdeclaraciones juntas, ya que el código puede resultar difícil de leer.


Operador ternario C #

Una declaración de control realmente conveniente que puede usar es el operador ternario, llamado operador condicional en C #. Tiene tres partes.

Operador condicional ternario csharp
La primera parte es una expresión que necesita devolver verdadero o falso . Si la expresión devuelve verdadero , devolveremos el valor en la parte 2 que está en el lado izquierdo de los dos puntos. De lo contrario, devolveremos el valor en part3 en el lado derecho de los dos puntos. Este operador condicional es ideal para una verificación condicional rápida para asignar uno de los dos valores diferentes a una variable. Así es como lo ve con mayor frecuencia siendo utilizado. La misma lógica exacta se puede hacer con una instrucción if, pero con un operador ternario hay menos caracteres para escribir. Es mejor usar esto para verificaciones lógicas simples. Si coloca una lógica complicada en el ámbito de un operador condicional, las cosas pueden ser difíciles de leer.


Derivación

Probemos algunas ramificaciones en nuestro proyecto. Lo que queremos hacer es agregar una forma para que la clase StockStatistics determine la valoración general de la cartera de acciones. Así es como lo configuraremos.

Lo que estamos haciendo aquí es mirar el precio promedio de las acciones en la cartera para tener una idea de si las cosas son actualmente un buen valor, o tal vez caras o muy caras. Podemos agregar esto a la salida de nuestro programa modificando un par de cosas en Program.cs. Aquí, queremos agregar esta salida adicional que nos brinda información sobre la Valoración general. Para que eso suceda, también necesitamos agregar un método sobrecargado para CustomWriteLine () que toma dos parámetros de cadena.

Ahora, cuando ejecutamos el programa, obtenemos esta salida adicional como vemos aquí.
comenzar sin salida de depuración


Declaraciones de cambio de C #

En C # también tenemos una switch declaración. Se puede usar para ramificar la ejecución de un programa a un conjunto de declaraciones que están dentro de una etiqueta de caso, que se crea con la palabra clave caseLa declaración de interruptor de C # hace esto al hacer coincidir el valor dentro del interruptor con los valores que especifique en la etiqueta de cada caso.

  • Restringido a enteros, caracteres, cadenas y enumeraciones.
  • Las etiquetas de caso son constantes
  • La etiqueta predeterminada es opcional

Con este conocimiento, queremos configurar una función de recomendación para la clase StockStatistic. Usaremos una declaración de cambio para ayudarnos con eso. Lo que hará esta declaración de cambio es mirar la propiedad StockValuation que acabamos de crear. Es un valor de cadena. Para cada caso, observamos el valor de la cadena para ver si es una coincidencia y, de ser así, proporcionamos la recomendación asociada.

En el archivo Program.cs, necesitaremos agregar la línea de código resaltada aquí para agregar esta salida adicional en el programa.

Podemos ver el resultado de esta nueva salida aquí.
c salida de ejemplo de interruptor agudo
La declaración de cambio no es excelente para evaluar rangos, pero a veces es útil para reemplazar las declaraciones if / else / if .


Iterando en C #

Iterar también se conoce como bucle . El bucle es cuando necesita o desea ejecutar un fragmento de código muchas veces. Iterar en C #, se puede utilizar cualquiera de los forwhiledo while, o foreachconstrucciones.


C # para

0
1
2
3
4
5
6
7
8
9

C # mientras

0
1
2
3
4
5
6

C # hacer mientras

0
1
2

C # foreach

Elemento # 1: 0
Elemento 2: 5
Elemento 3: 10
Elemento 4: 15
Elemento # 5: 20
Elemento 6: 25
Elemento 7: 30
Elemento 8: 35
Número de elementos: 8

También podemos practicar algunas construcciones iterativas en nuestro programa de ejemplo. Vamos a agregar una función que enumera todos los precios de las acciones que se han agregado al programa. Primero, en Program.cs agregaremos este código resaltado.

Luego, en StockPortolio.cs necesitaremos implementar ese método. Hace uso del tipo TextWriter en .net y recorre la colección de acciones en el programa. A medida que recorre cada uno, lo escribirá en la consola.