C# y Dot Net para principiantes | Grant Klimaytys | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

C# y Dot Net para principiantes

teacher avatar Grant Klimaytys, Software Engineer

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción

      4:36

    • 2.

      Qué es una aplicación con consolas

      1:52

    • 3.

      Crea una aplicación Consola y lo Run

      5:35

    • 4.

      Qué es una variable en C Sharp

      3:54

    • 5.

      Qué es un método en C Sharp

      4:02

    • 6.

      Espacio de nombres vs. clase en C Sharp

      2:33

    • 7.

      Escribe nuestro propio código

      5:09

    • 8.

      Tipos de números en C#

      5:02

    • 9.

      Diferencia entre int float en C Sharp

      1:48

    • 10.

      Crear entrada del usuario

      4:45

    • 11.

      Qué es una conversión de tipo en C Sharp

      2:48

    • 12.

      ¿Qué es el caso de cambios en C Sharp

      1:46

    • 13.

      Lógico del programa: caso de cambios

      5:24

    • 14.

      Si Elsa en C Sharp

      2:00

    • 15.

      Qué es un error en C Sharp

      4:13

    • 16.

      errores y números

      2:56

    • 17.

      Falsos que causen choques y limpieza de entrada del usuario

      4:09

    • 18.

      Qué es refactoring en C Sharp

      2:25

    • 19.

      Refactoring – lecciones para jóvenes

      4:44

    • 20.

      Refactoring el programa principal

      12:35

    • 21.

      PROYECTO DE CLASE

      2:19

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

240

Estudiantes

5

Proyectos

Acerca de esta clase

En este curso corto aprenderás los fundamentos de la programación en C# utilizando la red punto (. Red de marco en Windows. Este curso es perfecto para ti si eres principiantes a la programación.

¡Aprenderás de mí mismo, un desarrollador profesional con muchas aplicaciones a su nombre, incluyendo uno de los servicios más populares de música de Europes!

Incluso si sabes muy del número, este es el curso perfecto para empezar. Aprenderás:

  • Cómo escribir tu primera aplicación C#
  • Cómo estructurar tu código
  • Los principios de la buena arquitectura
  • ¡Y mucho más!

Algunas de las cosas que te harán conocimiento incluyen:

  • Variables
  • Méodos
  • clases vs. objetos
  • Tipos de números
  • Entrada del usuario
  • Lógica
  • Falsos
  • Refactoring

Al final tendrás suficientes conocimientos para empezar a empezar a programar tus propias aplicaciones.

Conoce a tu profesor(a)

Teacher Profile Image

Grant Klimaytys

Software Engineer

Profesor(a)

My very first software program was the artificial intelligence brain of an underwater robot in the early 2000's, still the coolest project I have ever worked on!

Since then I have designed and built websites, software and apps using all manner of languages and frameworks. Javascript, Bootstrap, .Net, Python, PHP - you name it, I've probably used it.

These days I focus on building quality cross platform apps using Xamarin studio in C#, Xcode and Swift 2 and Android Studio.

If you're considering becoming a freelance developer then I can honestly say it is the best life in the world. You will have no boss, earn an hourly rate of $60 - $150 and take holiday whenever you want!

Of course you have to learn how to make good apps first, which brings me to my second pa... Ver perfil completo

Level: Beginner

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción: Hola y bienvenidos a este corto curso sobre crear tu aplicación muy rápida en C sharp. Ahora, ¿qué vamos a hacer? Vamos a hacer lo que se llama una calculadora de consola. La consola es simplemente un nombre elegante para la línea de comandos, la terminal, el lugar donde escribes comandos en Windows. El motivo por el que estamos usando la consola es para que puedas aprender los conceptos básicos sin ponerte todo atado y confundido por interfaces gráficas de usuario. Vamos a hacer el siguiente programa que te pide que ingreses un número c. Puedes meter cualquier número, te pide un segundo número y luego te pide el proceso, sumar, restar, multiplicar o dividir. Bueno, si selecciono m y presiono enter, obtenemos el resultado como en 1906. Y luego te da la opción de cerrar la app o de continuar con la app. Por lo que sólo vamos a presionar N y Enter, que cerrará la ventana de la aplicación. Y ahora podemos ver el código detrás. De acuerdo, Entonces esa aplicación podría parecer realmente, realmente simple en su superficie, pero hay bastante complejidad que entra ahí. Y lo que es más importante, hay muchos principios muy importantes que necesitas aprender como desarrollador de software en prácticas, no importa que estemos aprendiendo esto en C-Sharp y dotnet tampoco porque estos principios son universales a través de todas las plataformas, SDK, lenguajes, frameworks, lo que sea, usarás en todas partes. Entonces, ¿qué exactamente vas a aprender? Lo primero, vamos a repasar nuestras aplicaciones de consola. ¿ Cuáles son? ¿Por qué deberíamos usarlos? ¿ Podemos realmente usar aplicaciones de consola en software de producción? Puede que no parezca. Se ven muy básicos, pero hay un lugar para ellos. Por lo que aunque no aprendas nada de este curso excepto esto, sabrás que puedes usar aplicaciones de consola en producciones comerciales. Aprenderemos todo sobre las variables que son almacenes de memoria de objetos aprenderán sobre métodos o funciones y dónde son apropiados para usar y cómo usarlos. Más importante aún, veremos clases versus objetos. En primer lugar, justo lo que son las clases porque es un concepto común que tienes en la mayoría de los lenguajes y marcos. Pero la gente se confunde mucho cuando contrasta clases contra objetos. Voy a explicar eso todo muy, muy sencillamente. Entonces vamos a ver los tipos, específicamente los tipos de números porque tenemos una calculadora. Esos tipos de números también nos llevarán al área temática de la entrada del usuario. Porque un usuario necesita poner algo en nuestra aplicación para poder calcularlo. A partir de ahí, vamos a realizar algún tipo de lógica usando si lo demás, qué caso se multiplican, dividir matemáticas, etcétera. Entonces voy a hablar todo de lógica. Entonces el tema más importante de cualquier curso, que es todo sobre libros. ¿ Cómo va a fallar mi software? ¿ Por qué va a fallar? Y cuáles son las cosas que puedo hacer ahora para evitar que esa pieza de software fallara en manos de la gente mientras lo usan, lo que resultará en una mala revisión o tu cliente de código no regresará a ti para ninguna actualización. Entonces vamos a hablar todo de bichos. Y luego relacionado con los bugs es el tema de la refactorización, ¿ cuál es cómo y cuándo barajamos nuestro código? Entonces tiene más sentido para nosotros, específicamente cuando regresamos en un año y miramos este código que hicimos hace todo un año y nos hemos olvidado totalmente. ¿ Podemos refactorizar ese código para que sea más comprensible para que cuando volvamos podamos arreglar inmediatamente las cosas y entender lo que está pasando. Y también cuando actualizamos cosas en nuestra pieza de software, hay una probabilidad mucho menor de tener errores porque si el refactor es bueno, entonces el recuento de errores baja drásticamente. Entonces esas son las cosas básicas que vamos a aprender en este curso. Pero más importante que esto, quiero reiterar, este curso no es necesariamente sobre estos artículos individuales, pero es como se unen como un paquete para convertirte en un ingeniero de software profesional. Y sí, vale la pena pensar en ti mismo como profesional ahora antes de empezar realmente en este viaje. Porque si lo piensas de esa manera ahora, y pones en el trabajo que está asociado con la palabra profesional, entonces saldrás por el otro extremo. Mejor que la mayoría de los profesionales que en realidad conozco probablemente mejor incluso que yo como ingeniero de software. Entonces con eso dicho, vamos a ir. 2. Qué es una aplicación con consolas: Entonces, ¿qué es una aplicación de consola? Bueno, en realidad es bastante sencillo, en cada sistema operativo, tienes una forma de interactuar con nuestro sistema operativo simplemente escribiendo comandos que reconoce. esto se le conoce como la línea de comandos o a veces se le llama la consola. Probablemente lo hayas usado antes. Si has usado Linux o Mac, probablemente no lo hayas hecho. Si has usado Windows, pero si estás viendo esto, te interesan los textos o es posible que realmente lo hayas usado. Entonces, ¿qué es una aplicación de consola? Bueno, volvamos a nuestra aplicación en particular. Digamos que tenemos una aplicación C-Sharp. Toda aplicación tiene una capa de interacción, por lo que puede recibir los comandos que desea darle. Esa capa de interacción toma esos comandos, hace algo con ellos y luego lo envía a una pantalla. Por ejemplo. Algunos ejemplos clásicos son un teléfono móvil desplazándose hacia arriba y hacia abajo, escribiendo cosas, enviándole un PC mientras haces lo mismo usando un teclado y un ratón. Y una consola es simplemente una forma mucho más sencilla de interactuar con tu app. Para que no tengas que hacer una interfaz gráfica de usuario. Por lo que podemos secuestrar esa funcionalidad de la consola para poner comandos en nuestra aplicación en particular y para recibir salida de la app. Ahora, antes de irme, lo último que debes saber es ¿por qué usamos aplicaciones de consola? Si bien verás que profesores como yo usan una aplicación de consola porque no tienes que aprender todas las complejidades de mostrar datos en una pantalla. Simplemente estás emitiendo texto o aceptando textos de un usuario final. Y eso permite aprender los conceptos más básicos en programación sin tener que aprender conceptos complicados al mismo tiempo. Y eso realmente, realmente ayuda. 3. Crea una aplicación Consola y lo Run: Muy bien, Es hora de poner en marcha nuestra primera app. Así que adelante y abre Visual Studio 2019, pero no código Visual Studio ni 2017. Y se te debe presentar una pantalla similar a ésta. Y siempre hay actualizaciones en la esquina inferior. Tiendo a ignorar esos al menos por un tiempo de todos modos, a veces pueden romper tus proyectos. En fin, vamos a crear un nuevo proyecto. Entonces aquí abajo vamos a golpear Crear un nuevo proyecto. Y si no puedes ver ese menú aquí arriba en la esquina superior izquierda, puedes ir Archivo Nuevo Proyecto. Ahora en las plantillas del proyecto, te dará una lista de cosas que puedes usar. Entonces tenemos que consolar apps, que es lo que vamos a hacer. Uno de ellos tiene un VB junto al icono en la esquina superior, y el otro tiene un C-sharp. Queremos C-sharp porque no vamos a dejar que Visual Basic al aprender C sea nítido. Así que selecciónelo y haga clic en Siguiente. Vale la pena señalar en la pantalla que puedes filtrar todo esto de acuerdo al tipo de proyectos que estés haciendo. Vamos a llamar a esto algo así como calcular torr. Voy a llamarlo, me voy a ir como Calculadora. En realidad. Puedes guardarlo en algún lugar. Entonces lo voy a almacenar en descanso. Sólo una palabra de advertencia. Si almacenas proyectos en tu Dropbox o OneDrive o cualquier sistema que utilices para realizar una copia de seguridad de tus archivos. Los pequeños archivos que produce causan estragos con él y arruina la duración de la batería y los portátiles más antiguos. Entonces a veces es mejor tener un sistema diferente, como GitHub para almacenar tu código si estás contento con que sea público, si no lo estás, necesitas pagar por GitHub. Pero eso evita todos los problemas de Dropbox que he tenido con una especie de más de un millón y medio de archivos por los diminutos. De todos modos, vamos a dejar esta solución de juego sin control y proyectos en el mismo directorio. Te explicaré las diferencias entre esos más adelante. Y luego hacemos clic en Crear. Y cuando se crea, se nos presenta una pantalla de código. ¿ Verdad? Ahora. No voy a entrar en lo que significa cada una de estas palabras. Por ejemplo, Espacio de nombres, Clase estática, porque tengo poco videos explicados, tres de ellos vienen después de esta conferencia donde les expliqué qué es una variable. Te expliqué qué es un método. Ese es un método y expliqué la diferencia entre el espacio de nombres y la clase. ¿ De acuerdo? Lo más importante para nosotros entender que este punto es que todos.net programa, sé que he dicho programa C-sharp, pero en realidad es .net en este caso, necesita un punto de entrada. De hecho, cada pieza de software necesita saber por dónde empezar en este caso particular, y en casi todos los casos de dotnet, comenzamos aquí en el vacío estático principal. Ahora más adelante, te explico lo que significa estática en términos de una clase, pero solo necesitas saber que aquí es por donde empezamos. Y la primera línea de código que vamos a ejecutar es la línea de escritura de punto de la consola. Entonces ahora si jugamos esto arriba en la parte superior aquí tenemos este botón de juego de calculadora. Y si hacemos clic en eso, deberíamos conseguir una pantalla de consola que nos diga en la parte superior hola, bueno así que déjame acercar eso para ti. De acuerdo, así dice Hola mundo. Y entonces el programa dice: Hay algo más que hacer ahora? Por lo que simplemente se detiene básicamente. Y luego presionas cualquier tecla para cerrar esta ventana. Entonces presiona cualquier tecla y te echarán de nuevo a tu código y todo el programa deja de ejecutarse. Entonces ahora podemos intentar copiar esa línea, pegarla debajo. Por lo que quiero que sigas. Mi nombre es punto, punto, punto. Y ahora si ejecutamos eso, obtenemos dos líneas. En la parte superior ahí. Hola mundo, mi nombre está bien. Entonces ahí están las dos líneas. Ahora, lo que quiero mostrarles antes de terminar esta sección es que si empiezo a escribir algo en Visual Studio, tiene lo que llaman IntelliSense, IE, predice lo que vas a escribir. Consola está mecanografiada muy, muy a menudo por mí. Entonces sabe que eso es lo que quiero. Y si presionas Enter, lo hace automáticamente. Y luego pones puntos, línea derecha. Entonces vamos a escribir algo. Y si pasas el cursor sobre él, también puedes presionar Tab en lugar de entrar dependiendo de cómo escribas las cosas. Y luego abres y cierras. Y una vez que abres un corchete, te dice lo que hace esto. Entonces eso es un poco pequeño. No estoy seguro de poder cambiar eso. Y Visual Studio, me temo, pero dice escribe el terminador de línea actual al flujo de salida estándar. Lo cual es realmente informativo, ¿verdad? Si apenas estás empezando a codificar, todo eso significa es que pone terminada una línea actual. Pone un retorno de carro al final de la línea, por lo que pasa a la siguiente línea. Si presionamos arriba y abajo mientras eso se está mostrando. Bueno, solía ser arriba y abajo. Utilizo 70 ID. Olvidé cuáles son los atajos para cada uno. Pero si presionas estas flechas a un lado, te dice las diversas cosas que puedes poner dentro de esa consola.WriteLine que lo dejará derecho a la consola. De acuerdo, entonces eso es que has escrito tu primera pieza de código. Y has entendido que Visual Studio te da intellisense para autocompletar lo que vas a escribir. 4. Qué es una variable en C Sharp: ¿ Qué es una variable en C Sharp? Bueno, antes que nada, empecemos con nuestro programa o software C Sharp. Esto por supuesto, podría ser cualquier lenguaje porque las variables son universales en todos los lenguajes de programación. Mi particular está almacenado en un disquete. Y si eres menor de 30 años, probablemente no tengas ni idea de lo que es un disquete. De todos modos, de vuelta al programa. Por lo que ese programa va a tener piezas de datos dentro de él. Podríamos tener un entero que es un número entero. Podríamos tener una cadena que podría ser el nombre de alguien, y podrían tener una variable de tipo perro en nuestro programa. ¿Qué significan esos? Realmente no importa en este punto. Llegaremos a eso. En segundo lugar, su programa va a hacer algún tipo de operación sobre esos datos. Voy a C-sharp programa hace cosas. Y por último, da salida a lo que hizo. Entonces te dice lo que hizo almacena en una base de datos, lo pone en un servidor, todas esas cosas buenas. Una variable es simplemente un almacén de datos. Entonces esa primera línea, cuando tenemos enteros, cadenas, y variables de tipo perro, esas son variables que se almacenan en la memoria. Ahora bien, ¿por qué tenemos diferentes tipos de variables, enteros, cadenas, y otros? Bueno, la respuesta es bastante sencilla, pero en realidad hay dos razones para ello. Principalmente. El primer motivo es por el que provenían las computadoras. Entonces aquí tengo una computadora, una computadora tiene dentro de ella memoria de acceso aleatorio o RAM. Y RAM tiene bloques finitos de memoria dentro de ella. Ram es donde se almacenan todas tus variables mientras tu programa se está ejecutando y solicitando usar esas variables en particular, ¿verdad? Entonces por eso hay que tener mucho cuidado cuando estás haciendo software para no tener lo que llamamos una fuga de memoria porque llenas esa RAM muy, muy rápidamente y eso puede hacer que la computadora se estrelle así como tu programa de forma natural. Entonces cuando miramos la RAM y realmente perforamos todo lo que una variable es, es un almacén de datos en una dirección o área en particular en la memoria. Y si tenemos algo así como un entero que es solo un número entero que ocupa menos memoria que una cadena lo hace. Entonces por eso tenemos tipos de variables o tipos, que es el término técnico para ellos para que podamos optimizar cómo las almacenamos en la memoria. Ahora la segunda razón por la que tenemos tipos en variables es por lo siguiente. Digamos que tenemos una suma, 2 más 6 es igual a 8, o 8 más B es igual a C, Como podrías codificarla dentro de tu programa, esos son todos enteros. Y debido a que estamos usando enteros y el signo más, nuestro software subyacente o el marco en el que estás sentado sabe qué hacer con esos. Sabe lo que significa suma entre números. Ahora se podría decir, bueno, eso es bastante obvio para ti, pero no es para una computadora. Porque si le diera una computadora H más yo, los juntaría para hacer alto, los concatenaría. Ese es el término de la gran tecnología para eso. Entonces tipos de ahí para asegurarnos de que podemos realizar operaciones compatibles entre diferentes tipos para que no nos metamos en problemas más adelante cuando el programa se esté ejecutando. Entonces si obtienes un error de tipo, suele ser mientras estás haciendo el software, lo cual es algo bueno porque no quieres que el aire sea subir cuando el software está en manos de tu usuario final porque entonces se estrellará. Ahora hay muchas, muchas otras razones por las que tenemos tipos, pero esas son sólo los dos tipos de visiones generales de alto nivel en cuanto a por qué existen y por qué ser honestos que deberían existir. Entonces espero que eso se explique lo que una variable no es C-sharp. Y si quieres saber algo más, entonces solo déjalo caer en los comentarios. 5. Qué es un método en C Sharp: Un método en C Sharp. También se le llama método en otros idiomas, o a veces incluso se le llama función. Lo mismo, más o menos. Siete c-sharp. Digamos que tienes algún código. Tienes número a veces número b igual número c. Tienes una respuesta impresa a pantalla para que podamos ver el resultado. Y luego dividimos por el número c y luego almacenamos eso en el servidor. Entonces tenemos una secuencia de cosas que estamos tratando de hacer con nuestro código, ingrese las variables. Y si acabas de recubrir eso recto como lo acabo de decir, eso sería de procedimiento. Estamos procediendo por una ruta en un sentido. ¿ Y si tienes el mismo código, pero quieres cambiar los dos pasos del medio, o qué haces entonces? El nuevo pueblo a codificar suele decir, bueno, sólo lo escribiré de nuevo y cambiaré a los dos medios. Pero esa es una terrible manera de codificar porque codificar uno de los principios primordiales se llama seco, lo que significa que no te repitas. También tiene alguna otra mucha raíz de significados que descubrirás si consigues un trabajo como ingeniero de software. De acuerdo, entonces, ¿qué podemos hacer en ese caso? Bueno, lo que podemos hacer es confiar en un método, porque el método es simplemente una colección de código que realiza una función particular. Por lo que tendríamos un método llamado Multiply. Tendríamos un método llamado divide. Tendríamos un método llamado print y un método llamado tienda. Y luego cuando estamos ejecutando nuestro programa, si queremos cambiar el orden, podemos simplemente cambiarlos sin tener que volver a escribir todo el código. Por lo que puedo tener literalmente cualquier combinación de esos métodos que juego. Y el software es así. Tendrás un montón de combinaciones diferentes de todos los métodos y clases que crees. Entonces, ¿cómo se veía realmente un método? Bueno, en C-sharp, Es un poco así. Y de hecho, la mayoría de los lenguajes como este, tenemos un nombre de método que se multiplica. Tenemos algunos argumentos. Estas son solo piezas de datos que pasamos al método o el método pide. Para que pueda hacer lo que tenga que hacer. Entonces en este caso, estamos pasando dos números, número a y b. Y luego dentro del método, realizamos número a veces número B. Obtenemos la respuesta para esa multiplicación. Y luego regresamos eso a lo que se llame el método. Entonces así es como se ve un método por dentro. Ahora, como que entiendes, espero, por qué usamos métodos y lo que son solo una colección de código que nos permite llamarlo en cualquier orden. Pero podrías mirar eso y decir, ¿por qué sólo hay una línea de código, la línea de retorno? Y he tenido que añadir una cosa extra en la parte superior de multiplicar con todos los tirantes rizados y todo el resto de ella. Parece un poco exagerado. Pero en la ingeniería de software, eso no es exagerado. Esa es la forma en que lo haces. Porque en algún momento, alguien en los dioses C-sharp del cielo va a decir, voy a cambiar retorno, a volver int o algo ridículo así. Entonces ahora si no has seguido el método de hacer las cosas, tendrías mil lugares diferentes para cambiar ese retorno, para devolver int en tu código. Por lo que te imaginas actualizarlo es muy, muy doloroso. Ahora en realidad, el retorno int nunca va a suceder. Pero hay muchas veces en las que otras versiones de eso sí suceden y tienes mucho código que cambiar. Entonces cuando tienes un método, solo necesitas cambiar el código en un solo lugar porque obviamente no necesitas cambiar el nombre de tu método. Todo el resto del código que está usando ese método obtiene automáticamente el cambio porque todo está almacenado o encapsulado dentro del método de multiplicación. Entonces eso es un método. Tan solo una colección de código que independiente, que puede ser llamado por cualquier otra parte de tu programa que especifiques. 6. Espacio de nombres vs. clase en C Sharp: Por lo que muchas veces los principiantes se confunden muy entre lo que un namespaces versus una clases en C-Sharp y en otros idiomas, por supuesto, en primer lugar, necesitamos saber qué es una clase. Una clase es simplemente un blueprint de código que hace objetos. Entonces en C-Sharp, cuando ves la nueva palabra clave, significa que estamos creando un objeto a partir de un blueprint o una clase. Digamos que tenemos una clase de perro. Ese perro tiene nombre, tiene un método de bug y tiene un método de olfatear, que son cosas que hace. El nombre es una propiedad. Digamos también que tenemos una clase llamada gato, que tiene la misma propiedad de nombre, pero tiene diferentes métodos llamados Mao y dormir porque gato duerme todo el tiempo. Lo que nos gustaría hacer es agrupar estos lógicamente. Entonces si estuviera haciendo una aplicación que accediera a gatos y perros, no me gustaría importar un gato e importar un perro. Lo que probablemente querría hacer, y puedes construir esto de manera diferente, pero esto te da la idea de lo que es un espacio de nombres, es poner a ambos un espacio de nombres de la siguiente manera. nombres animales, clase de perro y clase de gato. Para que cuando estoy creando mi aplicación en otro lugar, pueda importar el espacio de nombres de los animales y luego pueda acceder a perro y gato. El modo en que lo accederías sin importar es decir animales doc dog y animales dot cat. Por lo que un espacio de nombres es simplemente una forma de organizar su aplicación en su propio paquete lógico. Eso es todo lo que es. tanto que una clase es básicamente algo que hace cosas que tiene propiedades, etcétera. Un espacio de nombres no hace nada de eso y no debería hacer nada de eso. Es simplemente una herramienta organizacional. Ahora, espacios de nombres, lo que hacen tipo de varía entre lenguajes, marcos, etcétera. Pero esa es la idea básica de ello. Entonces si tienes un espacio de nombres para, digamos tu servidor, llamémoslo biblioteca de servidores. Dentro de ese espacio de nombres, tendríamos sólo los datos y métodos que corresponden a ese servidor en particular. Entonces tienes que pensar muy, muy lógicamente en lo que estás poniendo en tu espacio de nombres. Y ¿se alinea con lo que se llama el espacio de nombres y lo que el espacio de nombres está lleno. 7. Escribe nuestro propio código: Donde lo dejamos la última vez, nuestro programa estaba dando salida a una sola línea a la consola de helloworld. Eso vamos a cambiar. Entonces quitemos totalmente la línea y sigamos conmigo. Vamos a escribir la palabra int o la palabra clave int, que es abreviatura de entero. Y como expliqué hace un par de videos sobre cuáles son las variables. Un entero es simplemente un almacén de memoria de un número entero. Y vamos a llamar a este entero a.Entonces cada variable en C Sharp necesita un nombre, un nombre que reconozcamos. De lo contrario, obtienes un nombre que algo como yo no sé, algo así. Se trata de una cadena hexagonal o algo similar a eso, que en realidad es una ubicación en la memoria. Y obviamente, no podemos recordar eso como humanos. Entonces solo usamos palabras y nombres simples. Ahora, cuando estés nombrando una variable, asegúrate de no llamarla algo así como int, porque esa es una palabra reservada en C Sharp. Y hay muchas palabras reservadas en todos los lenguajes de programación que no puedes usar como nombres de cosas. Para que puedas ver la pequeña línea roja garabata te dice que espera un identificador. Eso es porque se está confundiendo, porque lo has dicho dos veces. Entonces este identificador o el nombre de la variable es un, y va a ser un número simple, 22, y terminamos eso con los dos puntos. Entonces vamos a crear otro número. Int b es igual a, digamos 10. Y ahora podemos crear una variable más. Pero antes de que lo hagamos, noten que hay una línea verde garabata. Te dice que B está asignado pero su valor nunca es uso. ¿ Por qué es eso importante? Bueno, si estás poniendo cosas en la memoria, que estamos aquí, y nunca las usas. Se quedan en la memoria hasta que llega algo llamado el recolector de basura y los quita. Entonces liberamos algo de espacio. Pero a veces pondrás cosas en la memoria. El recolector de basura vendrá y dirá, parece que todavía estás usando eso. Entonces no lo voy a tocar en este caso, eso probablemente sería cierto. Entonces no queremos tener cosas en la memoria que no estamos usando. Visual Studio nos advierte al respecto. Ahora vamos a crear int c, que es igual a un plus b. bastante simple, ¿verdad? Estamos agregando a y B. Así que ahora podemos imprimir eso a punto de consola, escribir línea C y terminar con dos puntos. Y luego podemos agregar una línea más antes de ejecutar esta línea de lectura de punto de consola. Por lo que esto lee la siguiente línea de caracteres del flujo de entrada estándar. No te preocupes por lo que eso significa por ahora. Sólo vamos a dejarlo en paz y a ejecutarlo como está. Entonces vamos a golpear juego. Y deberíamos crear dos variables. Y luego solo nos imprime una cosa, que es un gran número, 32. Ahora porque hemos metido Redline, lo que eso hace es detener el script de fin de ejecución donde decía antes, presiona cualquier tecla para terminar. Entonces ahora nos espera a que escribamos algo, que si lo hago, entonces lo termina y luego nos permite presionar cualquier tecla para cerrar esta ventana para que esa línea de lectura de consola, solo para aplicaciones de consola nos permite mantener viva la app hasta que en realidad presionemos una tecla. Entonces es solo un pequeño amortiguador hasta el final ahí. De acuerdo, así es como se hace básicamente matemáticas. En C-Sharp. Simplemente usa tus habilidades matemáticas clásicas más, menos tiempos y divide. Entonces ahora te voy a poner algunos deberes. Estoy escribiendo un comentario aquí. Por favor divida, multiplique, y restar a y b y mostrar en la consola. De acuerdo, adelante, pausa el video ahora porque voy a presentar la solución después de la pose. Entonces, ¿cómo fue eso? Adivino bastante fácil. Y llegaste a un punto en particular. Si queremos restar, sólo ponemos un menos M. Si queremos dividir, ponemos una tajada hacia adelante. Y si queremos multiplicar, ponemos un asterisco en, a la derecha, por lo que hacia adelante slash y asterisco. Creo que la mayoría de la gente sabe sobre el asterisco de barras delanteras puede que no lo sea. Entonces ahora podemos multiplicarnos. lo interesante es si divido a por b y corro eso, ¿qué respuesta crees que 22 dividido por diez debería darme, me debería dar 2.2, ¿verdad? Pero me va a dar sólo dos. Esa es la respuesta equivocada claramente. Entonces vamos a entrar en esa área temática un poco más tarde. Pero solo ten en cuenta que cuando estás declarando variables, ese tipo de variable estás declarando quién tendrá un efecto en lo que estás planeando hacer con tu código. 8. Tipos de números en C#: Correcto, Entonces aquí es donde este tipo de curso se aparta de un curso de enseñanza tradicional. Porque, oye, odio la tradición si no está cumpliendo lo que necesitas como estudiante y debe causar que sea tirado. Entonces te voy a dar algunas habilidades que definitivamente necesitas cuando te conviertas en ingeniero de software. El habilidad número uno es la capacidad de buscar cosas en un motor de búsqueda como el Dr. go. Por cierto, ya no uso Google. Yo uso dot-dot go porque el Dr. Gao me da resultados más precisos que Google, porque Google tiene demasiados filtros. El doctor Banko sólo me da lo que quiero. Y también está en la privacidad. Un abogado, que es bueno en mi mundo como ingeniero de software de todos modos. Entonces para lo que estoy diciendo que necesitas desarrollar una habilidad es la capacidad de averiguar por qué las cosas hacen eso, lo que están haciendo en tu programa usando un motor de búsqueda. Entonces, ya sabes, esta línea donde dijimos a dividido por b nos dio un resultado de dos, lo cual es claramente incorrecto. Bueno, lo que tenemos que hacer es volver a subir la cadena y empezar a interrogar por qué. Eso nos dio una respuesta de dos. Y la razón por la cual es porque un entero es un número entero. Y si guardas cosas en un contenedor de números enteros, solo te dará números enteros y no decimales, ¿de acuerdo? Entonces una de las habilidades que necesitas aprender es cuando te encuentras con un problema como este y sí, este es un problema trivial. Y probablemente conozcas la respuesta. Pero hay que tratar de pensar en cómo se buscan estas cosas. Entonces lo primero que haría es poner el nombre del idioma. Entonces C Sharp, y claramente, gente paga reproducir música mucho más de lo que programan códigos CAS C Sharp con los que las ruedas tienen problemas para cada uno claramente. Está bien, C-sharp. Y luego vamos a poner int. Y mira lo que sale. La primera opción es un rango int. Eso es interesante. Si hacemos clic en eso, ¿qué obtenemos? Obtenemos los Microsoft Docs, que aquí está déjame alejarme para ti. Por lo general los docs están bien, pero no son increíbles. Está bien. Es decir, como principiante de nuestra mirada a esto, estaría muy confundido y me apagaría instantáneamente. Y Microsoft nunca parece haber captado eso. Creo que Android de atrapado a eso. Mejor ser honesto. Tenemos el segundo resultado aquí. Nota de los operadores de índice. Entonces ya ves a lo que me refiero. Puedes estar buscando cosas durante horas y no encontrar lo que buscas. Entonces te voy a dar un atajo. En este caso, vamos a ir C-sharp a tipos y tenemos tipos numéricos integrales. Quizás si cambiamos eso a un tipo de número, tenemos tipos de datos C, tenemos tipos numéricos de punto flotante. Aquí hay un montón de cosas que leer. Entonces volviendo a nuestro problema particular, una vez que hayas pasado por ese proceso y no lo voy a hacer aquí x lleva un tiempo. Pero una vez que has pasado por ese proceso, en realidad estás construyendo tu comprensión del lenguaje de programación cada vez más, no solo solucionando tu problema. Y así aprendí. Es así como empecé a aprender, era esto no está funcionando. Entonces salté a un motor de búsqueda y buscarlo, busco algo similar. Y luego leí alrededor del área temática. Y a medida que adquieres más y más experiencia, te vuelves cada vez más preciso con lo que estás buscando. Y la necesidad de buscar se vuelve cada vez menos. Por lo que eventualmente no necesitas realmente un motor de búsqueda para completar tus proyectos. Pero ahora mismo como principiante, te aconsejo que hagas eso. De acuerdo, entonces, ¿qué va mal aquí? Regresar a nuestro problema es el hecho de que estos son números enteros. Puedo cambiar esto a un tipo diferente llamado float. O de hecho, puedo dejar eso como un entero. Y puedo cambiar C a flotador. Ahora un flotador permite decimales. Flotadores y dobles ambos permiten decimales. El problema es que aún nos queda justo el número 2. Entonces eso es interesante, ¿no? ¿ Por qué está haciendo eso? Eso podría tener algo que ver con el hecho de que estos son enteros. Cambiemos todo por un flotador. Y vamos a darle a Play en eso. Y ahora obtenemos exactamente la respuesta que buscamos, que es 2.2 K. Así que float funciona. El otro tipo que debes conocer es un doble. ¿ De acuerdo? Ahora, a lenguajes como C Sharp no les gusta mezclar flotadores y dobles de esta manera. Realmente no les gusta. Tendrías que convertir uno a otro. Pero eso es por la moto porque no vamos a hacer nada de eso ahora mismo. Entonces en el siguiente video, voy a explicar la diferencia entre enteros, flotadores, y dobles. 9. Diferencia entre int float en C Sharp: Aquí está la diferencia entre un entero, un flotador, o doble. Ahora hay otros tipos en C Sharp y otros idiomas que te almacenarán números, pero estos son los tres más comunes. Voy a hablar de C-Sharp en particular, pero mucho de esto se aplica también a otros idiomas, pero siempre comprueba dos veces si tu aplicación es crítica de misión. Entonces, en primer lugar, tenemos un entero y entero almacena un número entero. Y puede pasar de un rango de alrededor menos 2 mil millones a más de 2 mil millones. El número no es exactamente 2 mil millones, pero eso es lo correcto. Un flotador expande ese rango por un largo camino. Por lo que va de menos 3.4 veces 10 al ocho. Por lo que 38 ceros después de 3.4 a la versión positiva de ese más 3.4 con 38 ceros, un doble va de menos 1.79 a 308 ceros después de eso. Entonces ese es un número muy, muy grande y preciso. Ahora siempre ten en cuenta que tomas más poder de procesamiento con el fin de procesar números grandes, números más precisos, etcétera. Entonces cuando estés creando tu aplicación, no hagas un contador usando dobles además, no harías eso porque es inexacto de una manera muy extraña de precisión. Usarías enteros. Si estás haciendo una aplicación financiera, usarías dobles porque quieres que tus decimales estén en punto. Entonces no hay un error de redondeo al salir el final de todos los cálculos de arboleda. Entonces un entero para contar, un flotador para variables de tipo decimal. Entonces por ejemplo, temperatura y dinero y un doble para la mayor precisión, como he dicho, es decir para aplicaciones financieras. 10. Crear entrada del usuario: Entonces estamos haciendo una calculadora. Claramente, no queremos valores estáticos y eso es lo que son estos. Y cuando digo valores estáticos, no me refiero a lo que significa esa palabra. Sólo me refiero al hecho de que estos valores nunca pueden cambiar porque no tenemos forma de introducir nuevos valores. Entonces eliminemos todo este código en la zona principal. Y voy a pegar en un código de calculadora. Ahora vale la pena señalar que este código proviene de la propia documentación de Microsoft. Por lo que siempre puedes ir por ahí y comprobarlo si quieres. Pensé que era mejor crear un curso alrededor de lo que recomiendan para que tengas dos puntos de referencia de los que aprender, ¿verdad? Entonces si quieres seguir adelante y pausar el video, entonces puedes hacerlo ahora para copiar esto. Y luego una vez que reanudes el video, me desplazaré hacia abajo para que puedas copiar el último par de líneas que no encajaban en un K. Ahora que estamos de vuelta en el código, veamos lo que pasa aquí. Te darás cuenta de que he creado dos enteros, número uno y número dos, y los he puesto ambos en 0. Ahora los puedo poner en la misma línea porque en C-Sharp tenemos el separador, lo que nos permite hacer eso. La mayoría de los estilos de programación dicen que deberíamos tenerlos en líneas separadas. Tiendo a estar de acuerdo con eso. De todos modos. Escribimos una línea simple, consola, calculadora y C-sharp. Y luego ponemos algunos guiones en pestañas para que las cosas se vean bien. ¿ De acuerdo? Después escribimos otra línea la cual es teclear un número y presionamos Enter. Por lo que estamos dando a nuestras instrucciones de usuario. A esto se le llama la experiencia del usuario. Y sí, incluso las aplicaciones de consola necesitan una experiencia de usuario. Si acabas de presentar una consola intermitente, no saben qué hacer. Entonces hay que decirles qué hacer. Entonces obtenemos ese número. Y lo que sea que entren se va a leer como una cadena usando la línea de lectura de punto de la consola. ¿ De acuerdo? Por lo que la línea de lectura de consola es lo que entras se pone en la memoria. Y luego vamos a agarrar ese valor. Vamos a convertirlo en un entero de 32 bits. Explicé las diferencias entre enteros, etcétera. Previamente. Lo que estamos haciendo aquí es que realmente estamos convirtiendo esa cadena en un entero. Ahora en la siguiente conferencia, voy a explicar para qué se utilizan las conversiones, por qué son malas, su mayoría hablando, y por qué deben tratar de no usarlas, pero porque sólo estamos aprendiendo al inicio, vamos a tener eso aquí. Y luego les pediríamos que escribieran otro número. Hacemos el mismo proceso, obtendría su entrada y lo ponemos en la variable número 2. Y luego les pedimos que elijan una opción de la siguiente lista, que es una para agregar, restar y multiplicar y dividir D4. ¿De acuerdo? Ya verás lo que significa la barra invertida t cuando ejecutemos el programa. Y luego decimos, ¿cuál es tu opción? Entonces el usuario va a ingresar cualquiera que sea su opción para eso. Y en realidad no lo hemos escrito todavía. Pero rellenaremos esta sección donde usamos lo que se llama una declaración de cambio para hacer las matemáticas reales que el usuario nos ha pedido que hagamos. Y luego finalmente, tenemos lo mismo que teníamos antes, que es presionar una tecla para cerrar la calculadora y luego realmente teclear. Entonces si solo ejecutamos esto, es más fácil entender si puedes verlo. Entonces eso se ve bastante bonito. ¿ No es así? Escriba un número y pulse Intro siete, escriba intervalo número 6. Y luego puedes elegir una de las opciones. Y esa barra invertida t te da un espacio de tabulación. Por lo que un número fijo de espacios antes de que muestra las cosas. Es sólo un lindo truco de formateo. Entonces podemos poner un SMD, pero aún no hemos puesto nada de eso. Y sólo vamos a presionar una tecla para cerrar la calculadora. Ahí vamos. Entonces todo eso se ha ido, ¿verdad? Entonces en el próximo par de conferencias, voy a explicar usando un par de dibujos qué es la conversión entre tipos. Y también en realidad también voy a explicar qué es un tipo para ir de acuerdo con eso. Y también voy a explicar esta sección. Utilice una instrucción switch para hacer las matemáticas. Entonces voy a explicar qué es una declaración de cambio. Y luego la conferencia que sigue a eso, en realidad vamos a llenar la sentencia switch para hacer toda la lectura del add, restar, multiplicar, dividir, y para dar salida a la consola la respuesta. 11. Qué es una conversión de tipo en C Sharp: Echemos un vistazo a la conversión de tipos en concha marina. Digamos que tienes una variable. En este caso tenemos un entero que es igual a 8. Si quiero mostrar eso en una pantalla, generalmente, tengo que pasar por encima de una cadena para poder mostrar texto en una pantalla. Entonces necesitaría convertir ese entero en una cadena. Y en C-Sharp, literalmente se llama que dos cadenas es el nombre del método. Podemos convertir el entero en una cadena, que ahora es ocho, que ahora es ocho, pero entre comillas para mostrarte que es una cadena, y la computadora lo mostrará felizmente. Ahora esto está bien si vas de un tipo simple como un entero a un tipo más complejo como una cadena. No funciona tan bien si vas de complejo a simple, vale, así que ir de cadena a entero podría funcionar, pero también podría explotar. Veamos cómo si tenemos una cadena entre comillas, ocho a entero, y de nuevo en C Sharp, son sólo dos pulgadas. El nombre del método que se convierte a ocho, no hay problema. Es como esperamos. Pero si tengo una cadena con algún texto en ella como alto y lo convierto en un entero, todo explota. Nuestro programa falla en ese punto y obtenemos un error de tiempo de ejecución, que es del peor tipo Vera todas las áreas que queremos un tiempo de recopilación para que podamos abordarlos antes de entregar esto al cliente final. Por lo que pasar de una cadena compleja a una simple puede explotar tu programa. Hay una era más. Antes de ir allá, te voy a dejar con, que es pasar de algo como un flotador 10.2 a un entero. Ahora un entero no puede almacenar un decimal. Entonces lo que hace es simplemente loba el final de ese número en el punto 2 y acabamos de quedarnos con diez. Entonces se hace la conversión para nosotros, son 10. Lo mismo si tuviéramos un doble a un entero. Y hay toda una serie de conversiones en todos los lenguajes de programación de las que hay que tener mucho cuidado. Porque suceden cosas como esta. Las cosas también pueden suceder como, digamos que tenemos un entero 10 o un float 10 para, por ejemplo, un doble. Podríamos conseguir algunos artefactos raros de 10, 2, 000, 000, 000, 000, 000, 001. En su mayor parte, ese tipo de errores se han burlado de muchos sistemas de desarrollo de software. Pero aún los veo ocasionalmente. Creo que no he visto en C-Sharp desde hace mucho tiempo si alguna vez lo vi, realmente no puedo recordar porque no hago conversiones. Y acabo de mostrarte por qué debes evitar conversiones como la peste a menos que realmente, realmente tengas que hacerlo. Pero es una idea mucho mejor cambiar su estructura de datos en primer lugar para pensar cuidadosamente en sus problemas que confiar en conversiones más adelante por debajo de la línea. 12. ¿Qué es el caso de cambios en C Sharp: Caja de interruptor en C-Sharp. Es muy, muy sencillo. Digamos que tenemos una variable. Este caso es una cuerda y se llama nombre, y es mi nombre tierra. puede decir que es una cuerda porque está entre comillas dobles. ¿ Y si queremos realizar una prueba en esa cadena para ver si ese nombre de variable es más largo que cinco letras. Realizar pruebas en C-Sharp o cualquier lenguaje para ese caso, es una tarea bastante común porque quieres ver qué es una variable y luego realizar alguna acción de código de acuerdo a los resultados de la prueba. Tradicionalmente, usaríamos si de lo contrario para esto, pero el caso de cambio es mucho más conveniente cuando tenemos muchas opciones por recorrer. También es mucho más legible en la mayoría de los idiomas que si lo demás. Entonces, en primer lugar, la sintaxis va así y esta no es sintaxis C-sharp. Acabo de simplificarlo para que sea fácil de entender. Tenemos interruptor y luego tenemos la cosa que estamos viendo. Y en este caso, es la longitud del nombre, variable, nombre longitud de punto. Entonces debajo de eso, damos nuestras declaraciones de caso de cambio, un montón de casos para ver si coincide. Entonces si el caso donde esa longitud es igual a cinco, ejecutamos algún código. Si es mayor que cinco, ejecutamos una pieza de código diferente, y si es menor de cinco, ejecutamos otra pieza de código. Ahora bien, es importante tener en cuenta que tus casos son todos diferentes y todos deben ser únicos. Por lo que sólo se ejecuta uno de estos casos a la vez. También podría tener un caso predeterminado al final de la caja del switch, modo que se ejecute que si no coincide con ninguno de los casos anteriores. Entonces eso es todo un Casos Conmutados. Prueba una variable, usa el resultado para realizar una determinada pieza de código. 13. Lógico del programa: caso de cambios: Correcto, Así que tenemos nuestra aplicación básica funcionando aquí. Tenemos este método donde entramos a la app y tenemos todo un montón de código para tomar dos números de un usuario final y para quitarles al operador matemático. Ahora necesitamos una forma de realizar realmente el cálculo y mostrarles el resultado. Ahora, sólo vale la pena señalar, pequeños atajos que tienes en Visual Studio. Este poco menos a un lado aquí, puedo hacer clic en él y puedo colapsar o mis métodos, puedo colapsar clases. Puedo colapsar espacios de nombres. Entonces si te estás quedando sin espacio en alguna página en particular y no deberías estarlo si eres tus apps bien arquitectónicas. Pero sucede porque ninguno de nosotros es perfecto. Entonces puedes golpear a esos para esconderlos. También se asegura de que no edites las secciones equivocadas, lo cual sucede con más frecuencia de lo que pensarías, ¿verdad? Entonces, vayamos hacia abajo al área donde dice que vamos a usar una declaración de cambio para hacer las matemáticas. Voy a seleccionar todo eso. Entonces eliminé y luego voy a pegar en el código que quiero que paren y copie ahora mismo. De acuerdo, así que tienes eso abajo. Lo que vamos a hacer es que vamos a leer la línea del usuario final. Entonces aquí arriba hemos dicho que tu opción es, ellos ponen en su opción. Leemos ese valor y ahora estamos abriendo esto en una declaración de cambio. Entonces vamos a comparar el valor de esto todos los casos que hemos enumerado a continuación. Y esos casos corresponden a las cartas que estamos pidiendo aquí arriba AS MD, ¿verdad? Entonces tenemos un caso a y para el caso a, vamos a escribir línea el resultado con el número uno más el número dos. Ahora, aquí significa que vamos a, ¿cuál es la palabra que busco? Buscando evaluar algunas variables en esta cadena. Entonces en lugar de hacerlo de esta manera, así que déjame mostrarte a lo que me refiero. El modo clásico de hacer esto es el siguiente. Es una línea de escritura y pones entre corchetes resultado. Y luego vas fuera de los paréntesis y agregarías, digamos num 1. Y añadiríamos num dos, etcétera. O, o podríamos decir plus es la respuesta. ¿ De acuerdo? Entonces lo que estás haciendo ahí es que estás haciendo algo llamado concatenación, donde cuando agregas una cadena es simplemente los pone uno al lado del otro para hacer una cuerda grande. Esta versión de eso es simplemente una forma más legible de hacerlo y tipo menos facetado porque hay muchas comillas y se puede estropear eso realmente fácil. Confía en mí, lo he hecho. Entonces ese dólar simplemente significa que vamos a evaluar algo en una cadena donde tenemos num1 más num2, que están encerrados en llaves llaves, es igual a. Y luego realizamos la adición real ahí, num1 más num2. Y lo incluimos entre paréntesis porque queremos que lo evalúe antes de que nos muestre algo. Voy a k Ahora para el caso S, vamos a hacer resta por m para multiplicar con u veces. Entonces es sólo un asterisco. Entonces puedes ver todas estas líneas de código muy similares, cual es algo malo si empiezas a ver eso en tu código, o queremos hacer es colapsar eso hacia abajo. Pero sólo estamos aprendiendo en este punto. Entonces no lo estábamos. Las otras palabras que vas a ver aquí es romper. Break significa que vamos a terminar la ejecución ahí mismo. Entonces el programa, o más bien la declaración de cambio de caso dejará de evaluar, ¿verdad? Por lo tanto, no continuará por debajo de la lista de artículos. Por lo que volviendo al caso del interruptor real, switch básicamente toma una medida válida que contra el caso. Si es cierto, entonces hace el código dentro de esa sección de caso. Entonces si golpeamos play en nuestra calculadora, vamos a conseguir algunas solicitudes, escriba un número para otro número tres. Hagamos multiplicar, que es m Presione Entrar. Ahí es cuando se ejecuta la caja del interruptor, y encuentra que hemos presionado M. Así que ejecuta la funda para m, que es 4 veces 3. Presiona cualquier tecla para cerrar y apagar vamos. Ahora mismo tu tarea antes de pasar a la siguiente sección es mirar cómo hacemos esto usando algo llamado una declaración if else. Así que salta al Dr. ve y solo busca if-else en C-Sharp. Porque si lo demás proporciona exactamente la misma funcionalidad que el caso del interruptor. Pero Switched Cases más agradable de leer cuando tienes muchas opciones, razón por la que te lo he presentado primero. Si lo demás te permite hacer lo mismo. Entonces si te sientes a gusto, sigue adelante y repite este ejercicio, pero reemplaza todas las líneas de caja de cambio por si elses. Ahora, no te voy a dar la respuesta por eso porque eso es parte del aprendizaje. Tendrán que aprender a hacer esto ustedes mismos. Todo lo que voy a decir es que todo lo que necesitas para reemplazar es la primera línea. Y estas líneas donde dice caso, se puede dejar la ejecución real tal como está actualmente. 14. Si Elsa en C Sharp: Si lo contrario es un concepto muy importante en C-Sharp. Y de hecho, cada lenguaje de programación ha existido desde el principio. ¿ Por qué? Porque te permite dictar el flujo de tu programa. Entonces veamos un ejemplo de ello. Digamos que tenemos un nombre de variable, que es una cadena igual a mi nombre. Grant, y si queremos realizar una prueba en esa variable para ver si es más larga que cinco letras. Bueno, ahí es donde si más entra en la imagen, si el nombre de la longitud del punto. Entonces esta no es exactamente la sintaxis C Sharp. Acabo de cortar todo por simplicidad aquí. Si la longitud del nombre es igual a 5, el doble es igual significa igual, entonces vamos a hacer otra cosa. Si la longitud del nombre es mayor a cinco, vamos a hacer otra cosa. De lo contrario, vamos a hacer una opción final. Entonces, lo que si lo hace es permitirte comparar lo que estás viendo. Entonces la longitud del nombre con algunos valores en los que has pre-programado aquí. Por lo que cinco, mayor que cinco. Y luego te permite ejecutar algo. Ahora, una vez que estés pasando por una declaración if else, lo primero que coincida será lo que ejecute el código y nada más lo ejecutará. Algunos lenguajes te permiten tener una sentencia de ejecución final, pero no C agudo por lo que puedo recordar. O al menos nunca la he usado. Entonces pero es importante saber que sólo vas a ejecutar una de estas declaraciones. Si pasas y nada se ejecuta, entonces ejecutará lo que hay en la sección inferior, la sección else. Otra cosa que vale la pena señalar es que sólo se puede tener una declaración if por sí misma. Por lo que puedes tener el rápido si nombre longitud de punto es igual a 52 algo que no necesitas de más. Y puedes tener cualquier número de ifs más que te guste, pero solo puedes tener uno más. 15. Qué es un error en C Sharp: Entonces, ¿qué es un bug en C-Sharp? Bueno, digamos que tienes una pieza de software que estás creando. Y esa pieza de software tiene un montón de código. Todos estos bits de código en su software están interactuando entre sí todo el tiempo. Están haciendo cosas, están enviando datos de ida y vuelta. Idealmente, en un desarrollador de software también, hacemos esas cosas a un patrón de diseño y una especificación estricta para que evitemos cualquier problema. Pero en realidad eso nunca sucede realmente. Un desarrollador 100 por ciento y 90 por ciento, diría yo, es un buen desarrollador, alguien que consigue el 90% del camino ahí. Entonces lo que tiende a pasar con eso es que obtienes resultados inesperados. Entonces digamos que estás recuperando datos del servidor. Se esperan algunos datos de vuelta. Tu software no te da datos. Por lo que se comprueba la conexión. La conexión está bien, y eso significa que debe haber un error o un error en algún lugar de tu software. Entonces eso es básicamente lo que es un bicho, es un error. Ahora lo que es mucho más importante que lo que es un bug, es cómo evitarlos. Cómo o en qué pensar como desarrollador de software para que no te encuentres con ese lío. Cuando inicias el desarrollo de software, 70 al 90 por ciento de tu tiempo se dedica a arreglar errores. A medida que avanzas. Eso se encoge a tal vez 50 por ciento, 30 por ciento, pero yo diría que probablemente se pone por ahí. 30% de tu tiempo se dedica a arreglar errores. En la primera versión, habrá errores a lo largo de toda la vida de tu aplicación. Es sólo algo que necesitas aceptar. Entonces, ¿cómo los evitas en primer lugar? Bueno, la razón número uno por la que la gente consigue bichos es que no entienden el código. Entonces siguen, por ejemplo, StackOverflow, encuentran la línea de código y simplemente la pegan en su aplicación. Pero entonces también consciente del contexto alrededor de esa pieza de código y lo que está haciendo dependiendo de dónde lo hayas puesto, porque eso puede tener un efecto. Entonces el atajo para eso es RTL fm, lo que significa leer el manual de algo, ¿verdad? Eso significa leer la documentación, entender lo que estás poniendo en tu aplicación. El segundo es mala arquitectura. Entonces todos esos trozos de código hablando entre sí On no son algo bueno. Si tu arquitectura es mala, ¿verdad? Si tienes una arquitectura de MVVM, lo que significa modelo-vista-ViewModel o MVC, Model-View-Controller. Hay toneladas de otras arquitecturas, no solo para vistas, sino para todo realmente. Necesitas apegarte a él y entenderlo más. Entonces eso vuelve a la primera entender la arquitectura y luego aplicarla estrictamente a tu app y realmente recortarás el número de bugs. Lo final, la última razón por la que la gente consigue muchos bichos es que están haciendo demasiado en su software. O más precisamente, están haciendo demasiado en un singular trozo de código. Entonces un ejemplo clásico es que tienes una vista donde estás mostrando una lista de elementos en iOS, por ejemplo, usando Xamarin para C sharp. Por lo que también pondrás tu servidor buscando código. En ese punto de vista. El problema es que cuando te alejas de esa vista, el código de vista se termina, se borra, se elimina. Por lo que también se elimina tu código de servidor donde estás recuperando cosas. Por lo que la próxima vez que cargue la vista, es posible que espere que vea lista, su lista de datos del servidor se ha desplazado cierto camino y se va a buscar otra página de datos. Pero en realidad está empezando de nuevo todo el proceso. Entonces eso sería un bug clásico de hacer demasiado en la misma pieza de código. Entonces, no hagas eso. Siempre que tengas un trozo de código, pon algunos comentarios en la parte superior del código y di, lo que estoy haciendo con este código es x, y, z Solo estoy mostrando la vista. No estoy obteniendo datos de un servidor ni de la base de datos ni de lo que sea. Entonces no hagas demasiado y eso me recuerda que hago patinaje sobre hielo. Uno de mis entrenadores de hace muchos años tenía una frase que pegó en la cabeza y siempre decía que menos es más. Y eso es tan cierto en el desarrollo de software también. 16. errores y números: Es hora de corregir el error que vimos anteriormente. Entonces si ejecutamos nuestra app y escribimos algún tipo de número como seis, lo dividimos por siete. La respuesta cuando seleccionemos Dividir va a ser 0. Eso claramente no es cierto. Es más como 0.9 o lo que sea la respuesta, 0.9 algo, 0.8, algo. Ese bug se deriva del hecho de que estamos usando enteros para nuestras variables. Y los enteros solo almacenan números enteros. Entonces quiero que paren el video ahora, y quiero que arreglen ese problema en el código. Te he mostrado un video sobre la diferencia entre el flotador entero y el doble. También te he demostrado que no puedes mezclar los dos cuando estás haciendo cálculos. Entonces quiero que te vayas, averigúes cómo solucionar este problema, pausas el video ahora y luego volveré con una solución. Entonces, ¿cómo te pusiste? Bueno, si simplemente reemplazas un flotador aquí y yo floto aquí, entonces eso es más o menos todo lo que necesitamos hacer porque aquí abajo, cuando trabajamos desde el principio, realidad no estamos calculando el resultado y luego almacenándolo en un variable que lo está calculando. Por lo que por defecto, esto se va a asignar automáticamente a un flotador en la memoria temporal. Si lo estuviéramos calculando, diríamos algo así como flotar. Nuestra respuesta es igual a lo que num 1 más num 2. Y eso automáticamente, claro que nos daría un flotador, ¿no? Pero no lo estamos haciendo de esa manera. Estamos repitiendo código que no deberíamos, pero lo arreglaremos en un momento posterior, en una etapa posterior. Entonces eso es básicamente todo lo que tienes que hacer. Ahora si escribiste el siguiente doble y doble, deberías estar bien, porque de nuevo, un doble es solo un número más preciso, mucho más preciso que un flotador. Por ejemplo. La precisión de los números no es un problema en una computadora de escritorio porque tenemos tanta potencia disponible para nosotros. Ahora si te estás ejecutando, por ejemplo, Apple Watch, un smartwatch de algún tipo, entonces necesitas empezar a estar al tanto de cuánto poder de procesamiento toman ciertas cosas para que no te sobrepases el simulacro, destruye la vida de tus usuarios Patreon al usar en exceso la CPU, lo que también ralentizará tu aplicación. Entonces en el software de escritorio, diferentes tipos de multa, realmente no necesitamos pensar en las consecuencias. Pero en dispositivos o programas limitados que necesitan operar muy, muy rápido, hay que estar al tanto de las ventajas y desventajas de ciertos tipos. 17. Falsos que causen choques y limpieza de entrada del usuario: Está bien, es hora de un bug que no hemos visto antes y un aviso para mostrarte este bug. He cambiado los dos tipos de num1 y num2 de nuevo a enteros. Obviamente, puedes dejarlo como dobles y flotadores si quieres que tu cálculo funcione correctamente. El motivo por el que lo cambié de nuevo es porque no puedes ver el bug si usas un doble o flotador. Y ese bug, si ejecutamos la app, tiene que ver con dividirse por 0. Entonces si decimos seis divididos por 0, nos dan un choque. Por lo que todo el programa se mata. Y Visual Studio nos dice dónde ocurrió ese choque, qué línea de código y nos lleva hasta él. Y nos dice que teníamos una excepción la cual se intentó dividir por 0, una división de puntos del sistema por 0 excepción. Ahora no se consigue esto con float y double. Creo que estás acostumbrado a hace muchos años, pero obviamente eso los ha cambiado. Entonces tenemos que encontrar una manera de evitar que eso suceda. Porque lo que tenemos que hacer, vamos a dejar de correr esto usando Shift F3. Bueno, tenemos que hacer es limpiar la entrada del usuario. Entonces esto es realmente parte de su diseño de experiencia de usuario. Si buscas en Google UX, puedes aprender todo sobre UX es un tema profundo y fascinante. Y cada vez que inicias sesión en Facebook y te desplazas, ese es el UX Maestro está en el trabajo agarrando tu atención y denotas piernas. Sé que funciona porque no puedes dejar de desplazarte, ¿verdad? De hecho, en realidad instalé una extensión en Chrome que está bloqueado el feed de Facebook. Y luego me di cuenta de que seguí entrando en ella y no sabía por qué. Es porque la experiencia de usuario era tan poderosa que yo era básicamente adicta como todo el mundo es en estos días. Y eso ayuda a romper la parte posterior de la misma. Entonces ahora no voy realmente a las redes sociales de todos modos, volviendo al tema. Entonces lo que queremos hacer aquí es que sólo es realmente dividir donde esto va a suceder. Si tenemos sumar, restar y multiplicar 0 realmente no importa. Sólo es dividir donde es un tema. Entonces lo que vamos a hacer aquí es tener lo que se llama un bucle while. Ahora este bucle va a dar vueltas y vueltas y ejecutar lo que sea que esté aquí, siempre y cuando cierta condición sea cierta. Ahora por lo general digo, no nos gusta usar loops while. Son un poco peligrosos a menos que sepas lo que estás haciendo. Pero en este caso, realidad es una solución útil y no es tan peligrosa porque mientras los bucles pueden quedar atrapados en un bucle dando vueltas y vueltas. Si olvidas poner en una línea de código que te escapa del labio. Muy bien, entonces, ¿qué estamos haciendo en este bucle while? Si bien el número dos es igual a 0? Vamos a decirle al usuario, por favor ingrese un divisor distinto de cero. Y luego vamos a poner num a, al nuevo ítem al que ingresen. Entonces probemos eso. Calculadora 60, divide, ingresa un divisor distinto de cero 0, y solo seguirá girando alrededor de ese bucle mientras siga presionando 0, si presiono algo más, obtengo la respuesta que quiero. De acuerdo, así es como básicamente resolvimos ese error de entrada del usuario. De acuerdo, creo que eso es todo lo que realmente hay que decir sobre eso, excepto por el hecho de que solo haré una demostración más por ti si cambiamos estos de nuevo a flotadores, que obviamente vamos a mantener porque queremos que la calculadora funcionan, entonces en realidad no necesitamos todas estas líneas. ¿ De acuerdo? Entonces si los quito y lo ejecuto, mira lo que pasa. Si divido por 0, 6, 0, divido, obtenemos el símbolo para el infinito. Entonces eso sí funciona si usamos un flotador. ¿ De acuerdo? Voy a dejar eso en porque nunca queremos usarlo para dividir por 0. La mayoría de las calculadoras en realidad no lo permiten. 18. Qué es refactoring en C Sharp: Refactorización. Mucha gente sabe que la refactorización tiene algo que ver con moverse por el código, pero no saben por qué lo hacemos o por qué termina siendo realmente necesario. Entonces vamos a discutir eso aquí. En primer lugar, digamos que tenemos algún código. Y en el mundo del desarrollo de aplicaciones, por ejemplo, en iOS, que es una especie de uno de los lugares que comencé, tienes algún código para mostrar cosas, y en iOS se llama ViewController. Las cosas se han movido un poco a partir de eso, pero la gente todavía usa el concepto ViewController. Tenemos un montón de código ahí y la tentación es poner código ahí que no tenga nada que ver con el ViewController. Algo que ver con buscar los datos para mostrar en el ViewController. Ahora en realidad no deberías hacer eso. Deberías separar las cosas. Pero en realidad, como desarrolladores un perezoso a veces solo lanzamos un método y decimos, va a estar bien. No necesito hacer una clase completamente nueva para eso. Simplemente lo tiraré al código. Entonces lo que termina pasando es que tenemos todo un montón de funcionalidad no relacionada con la clase original. Entonces en el futuro, cuando hay un bicho donde saltando por todas las clases tratando de descifrar donde hemos hecho ciertas cosas mal. Pero hace que ese trabajo sea mucho, mucho más difícil si el código no es ordenado y ordenado. Entonces, ¿cómo llamamos a esto? Bueno, un GB FM, que es un gran lío en blanco, y estoy seguro que puedes llenar el espacio en blanco en eso. Entonces es cuando la refactorización entra en la ecuación. refactorización es simplemente tomar ese código y dividirlo en sus elementos constituyentes. Entonces si tengo un gran bloque de código con algo que ver con la vista y los sujetos hacen con buscar algo de un servidor. Lo que haría según el diagrama inferior es dividirlo en solo vista. Y otra clase por sólo buscar cosas del servidor. Entonces todo está bien y separado. El interfaz entre clases es claro. Entonces cuando vuelvo a revisar mi código en seis meses y me he olvidado todo de mi código porque no importa lo bueno que seas, sí te olvidas de tu código. Si todo está bien auditado, entonces puedes volver y de inmediato o casi de inmediato captar lo que estaba pasando hace seis meses cuando escribiste este código y arreglar lo que sea necesario arreglar o cambiar lo que sea que se necesite cambiar. Entonces eso es refactorizar, ordenar cosas en áreas lógicas. 19. Refactoring – lecciones para jóvenes: Cierto, debiste haber visto un video rápido sobre qué es la refactorización y de qué se trata. Pero por si acaso no lo has hecho por alguna razón, refactorización básicamente ocurre cuando ponemos mucho código en nuestros diversos archivos de código y decidimos en un momento posterior que está demasiado obstruido, demasiadas cosas están sucediendo en cada archivo. Y lo que queremos hacer es una especie de separar esas funcionalidades en sus propias clases distintas. Entonces lo que vamos a hacer es básicamente vamos a eliminar esta área de cálculo y vamos a ponerla en su propia nueva clase. Entonces debajo del espacio de nombres de calculadora, voy a pegar en lo siguiente. Yo sólo voy a hacer eso para que podamos verlo todo tipo de en una sola pantalla. Entonces en lo que lo pego fue en una clase llamada Calculadora. Y esta clase tiene una operación estática. Todavía no he cubierto estática con ustedes, pero para fines de aprender, solo dejaremos las cosas una estática. Esta clase o este método más bien este método público estático devuelve. Entonces cada vez que veas un tipo declarado antes del nombre del método, por lo que en este caso, se declara el doble antes de hacer operación. Significa que vas a devolver un doble de este método. Entonces vas a hacer algo y luego devolverle un número. Do operation es el nombre del método. Y vamos a pasar en el número uno, número dos, y la cadena que representa la operación. Por lo tanto, multiplicar, sumar, restar, y dividir. Así que adelante y copia esto hacia abajo. Se puede pausar el video en cualquier momento para hacerlo. Simplemente seguiré hablando porque puedes pausar en cualquier momento. Tenemos una variable se va a almacenar el resultado de nuestra respuesta, que actualmente se establece en un doble. Entonces vamos a tener todos nuestros números como tuplas a partir de ahora porque es el tipo más preciso que hay y esta es una calculadora, por lo que la precisión es importante. doble punto, nan significa no un número en casi todos los lenguajes de programación. Lo que estamos haciendo aquí es que estamos diciendo a esto aún no se le ha dado un número. Y al hacer eso, si tratamos de devolver ese resultado ahora mismo, creo que deberíamos obtener un error. Entonces si voy aquí y digo que devuelvan el resultado, por favor. ¿ Obtenemos un error? Y resulta que no lo hacemos porque sigue siendo de tipo doble. Simplemente no es un número. Está bien. Bueno, fui un pequeño experimento divertido. Ni siquiera sabía que iba a hacer eso en. Muy bien, así doble punto n. Entonces tenemos la caja de interruptores que lleva al operador el cual pasamos aquí arriba. Y corremos por el bucle familiar donde tenemos caso un SMD. Establecemos el resultado como cualquiera que sea la suma o la multiplicación de resta aquí. Si tenemos num dos no es igual a 0, entonces el resultado va a ser num1 dividido por num2. ¿ De acuerdo? De lo contrario se va a romper. Entonces no va a hacer nada. Ahora podría preguntarse por qué aquí no pedimos la entrada del usuario. Eso se debe a que cuando estamos refactorizando, lo que queremos hacer es separar esos artículos individuales a diferentes partes del código. Entonces clase de calculadora hace literalmente una cosa o un grupo de cosas, que es calcular respuestas, ¿verdad? No hay entrada, no hay salida. Simplemente toma los números y escupe algunos números. Y luego finalmente, no he hecho esto contigo, pero en caso de cambio puedes tener un defecto. Entonces si nada coincide, sólo se va a romper y no devolver nada de eso. Y entonces el, en ese caso, devolvería la ANN de doble punto sabe el número. De acuerdo, entonces ese es el primer refactor que vamos a hacer aquí. Entonces si me alejo un poco, se puede ver todo el asunto en su totalidad. Entonces es un poco más claro. Entonces en el espacio de nombres de calculadora, y creo que te lo he mostrado en un video. Vamos a tener la clase de calculadora, que sólo hace cálculos y simplemente devuelve un doble, lo que significa que ahora estamos listos aquí abajo para eliminar todo este código de caso de interruptor e ir por el proceso de refactorización con este principal donde lo enfocamos más en obtener entrada y salida del usuario de cosas y luego descargar ese problema de calculadora a la clase de calculadora que acabamos de crear. 20. Refactoring el programa principal: Correcto, es hora de refactorizar nuestro programa principal ahora que hemos agregado una clase para hacer las operaciones de la calculadora, así que claramente no necesitamos todo lo que está aquí abajo. Entonces lo que voy a hacer es que en realidad me voy a quitar todo aquí y voy a empezar de nuevo más o menos. Para que puedas ver lo que está pasando mucho más claramente, voy a pegar en algún código para empezar. Entonces este código, en primer lugar, tenemos la línea correcta de la consola que le dice al usuario qué es eso de antes. Entonces tuvimos eso. Yo sólo voy a quitar este comentario aquí arriba. Pero por encima de eso está el área importante, ellos importante variable que asegura que nuestra aplicación siga funcionando. Entonces tenemos un booleano que es un verdadero o falso y la variable app. Y luego aquí abajo en el tiempo no terminamos, vamos a seguir ejecutando nuestros programas. Entonces Yo-yo mientras termino es falso. Vamos a seguir dando vueltas a este bucle while. Entonces si el usuario quiere hacer un segundo cálculo, entonces son bienvenidos. Por el momento estamos consiguiendo una zona roja aquí porque está esperando otro cierre de un corsé rizado. ¿ Qué me he perdido aquí? Bienvenido a la depuración 101. Entonces esa es esa. Tenemos broche que conseguimos lo que queremos ahí abajo. De acuerdo, así que eso está todo bien ahora. Entonces toda nuestra acción realmente va a tener lugar en este bucle salvaje, ¿verdad? Entonces dentro del bucle while, vamos a tener el siguiente código. Si necesitas copiarlo y seguir adelante y pausar ahora mismo y bajar ese código. Lo resaltaré para que lo veas un poco más fácil. Está bien, Así que si tienes eso abajo, empecemos a revisarlo. Simplemente acercaré para que esto sea más fácil de ver. En primer lugar, estamos cambiando el esquema de entrada, ¿verdad? Entonces recuerda cuando estamos introduciendo texto en la consola, automáticamente vuelve a nosotros como un tipo de cadena, no como un tipo de número. Entonces lo que vamos a hacer es agarrar esa entrada y lo vamos a llamar apropiadamente entrada numérica uno y número dos. Por el momento, no hay nada ahí, así que sólo los ponemos en blanco. Y entonces nuestro resultado de cálculo va a ser 0 porque así es el resultado actual. Después le damos al usuario algunas instrucciones para escribir un número y presionar enter. Eso lo leemos en el número de entrada uno. Y entonces lo que vamos a hacer es crear otra variable llamada Reclamo Número 1, que es un doble actualmente establecido en 0. Y lo que vamos a intentar y hacer en el siguiente par de líneas es tomar la entrada y ponerla en la limpia número uno. Entonces lo que estamos haciendo aquí es que nos estamos metiendo en la clase Doble y vamos a tratar de pausar. Ahora, pausar solo significa que lo vamos a leer y luego tratar de ponerlo en el doble básicamente. Entonces trípodes, si escribo eso, deberíamos conseguir estos diminutos textos. Perdón por eso. Eso dice trípodes en realidad no nos da ninguna pista sobre lo que está haciendo. Ahí vamos. Convierte la representación de cadena de un número en su equivalente de número de punto flotante de doble precisión, un valor de retorno indica si la conversión tuvo éxito o falló. Entonces va a tomar una entrada y luego va a intentar y salida para limpiar num one. No te preocupes por esta palabra clave por ahora. Esa es una especie de tema posterior que vamos a cubrir. Pero esta es básicamente la sintaxis de la declaración. Entonces si bien esto es falso, entonces vamos a mostrarle al usuario esta entrada no es válida, por favor ingrese un valor entero. Y luego vamos a intentar volver a leer eso. Una vez que lo leemos, vuelve a entrar aquí y repetimos el proceso hasta que lo hagan bien. Ahora no creo que escribiera valor entero. Pondré un número válido. ¿De acuerdo? Entonces una vez que hayamos pasado por eso, ese pequeño bloqueo de carretera, lo que vamos a hacer es la consola dot write. Vamos a escribir otro número y pulsar Entrar. Entonces otra vez, mismo proceso, pero lo estamos haciendo para la entrada numérica a exactamente lo mismo con try pass, exactamente lo mismo con la consola, ¿verdad? Excepto que también voy a cambiar esto por lo siguiente. De acuerdo, entonces tenemos nuestros insumos y los hemos limpiado en el camino. Ahora vale la pena señalar. Lo que estamos haciendo aquí es refactorizar. Estamos condensando nuestro código, poniéndolo en bloques lógicos, áreas lógicas. Apuesto a que ya puedes ver que estamos repitiendo código aquí y aquí. Entonces esas cosas, esas son candidatos que en realidad podrían trasladarse a diferentes áreas, ¿no? Podrían entrar en su propia clase. Podría llamarse una clase de limpieza de entrada, qué, como quieras llamarla. De acuerdo, así que a la siguiente parte de este código. Por lo que solo pegaré esto y resaltado. Puedes volver a pausar y copiar. ¿ Verdad? Entonces esto es muy parecido a lo que teníamos antes. Sólo estamos pidiendo al usuario elige un operador de la siguiente lista y ellos eligen ASM D. Y entonces por supuesto, leemos esa línea. Por lo que eso se almacenará en una cadena llamada cadena del operador. Ahora si volvemos a la cima aquí donde creamos nuestra operación du, notarás que pasamos en la cuerda aquí arriba. Entonces ahí es donde eso va a ser evaluado eventualmente, ¿verdad? Por lo que retrocede al fondo. Lo siguiente que vamos a hacer es tomar nota de que este cálculo podría fallar de alguna manera extraña. A lo que vamos a tener aquí se le llama declaración try catch. ¿ De acuerdo? Y lo que hace try-catch es lo siguiente. Cualquiera que sea el código que traté de ejecutar en la sentencia try, si falla, si provoca un bloqueo, si vuelve como el valor nulo, si ocurre algo extraño que el programa no esté esperando. Yo soy estafador. Atrapa eso en lugar de destruir todo el programa y te trae a este bloque de código en su lugar. Y esta excepción e te dice exactamente lo que salió mal. Entonces. Es noble pensar que tu software nunca se estrellará. Si eres realmente, realmente inteligente, que puedes codificar cosas. Entonces nunca pasa nada malo en la realidad. Eso no es cierto. Y hay momentos en los que no puedes evitar esto, vale, es justo como se codifican las cosas en la biblioteca que quieres usar, en el servicio en línea que quieres usar. Y así hay que tener un try-catch. Pruebe las capturas. Una de las cosas más útiles en C Sharp, pero también las cosas más sobreutilizadas. Para ser honesto, la gente los usa en todas partes, pero debes usarlos con moderación. Y para esos casos particulares donde, ya sabes, va a haber un choque. Por lo que dentro ahí, en realidad estamos listos para empezar a hacer nuestro cálculo. Ahora, en la sección try, vamos a tener lo siguiente. Vamos a establecer esa variable de resultado a medida la calculadora hace operación y pasamos los dos números y el operador en. Entonces eso nos va a dar nuestro resultado bastante sencillo. Ahora si eres nuevo en C sharp o nuevo en la programación orientada a objetos, lo que esperarías ver si solo navegas y código de la gente es decir nueva calculadora, punto, do, operación, etc. La razón por la que no tenemos que en este caso, que simplemente vayamos directamente a la clase es porque todo es estático. Estático significa que el método pertenece a la clase y no al objeto. Ahora si aún te confundes sobre clases y objetos, no te preocupes. Entonces como yo por sí, en realidad, cuanto más lo hagas, más te acostumbrarás a la idea de que las clases hacen objetos. Pero las clases también pueden ser su propio contenedor de almacenamiento separado. Está bien, basta de eso. Entonces, ¿qué pasa si el doble no es un número? Recuerda que establecimos el DoubleTree no un número en la clase de calculadora. Bueno entonces solo podemos decirle al usuario que su operación resultará en un error matemático. ¿ De acuerdo? De lo contrario le decimos al usuario tu resultado es, y veremos a qué sale esto al final. Escribir. Lo único que tenemos que sumar aquí es un mensaje para nuestro usuario final. Y ocurrió la excepción. Y les vamos a decir qué fue. E.me. Entonces esa e es la excepción que se pasa aquí y que contiene un mensaje que te dice en inglés llano lo que pasó. Bueno, digo inglés llano, pero a los programadores no les gusta el inglés llano. Ojalá a veces lo hicieran. De todos modos, eso le dirá al usuario final lo que está pasando. Entonces si hemos pasado por eso, todo lo que queda por hacer es preguntar al usuario final ¿Qué quieres hacer ahora? Por lo que pegamos en el siguiente código. Acabamos de poner un bonito terminador que le diga al usuario que estamos al final de esa operación. Esto va a esperar a que el usuario responda. Por lo tanto, pulsa N e Intro para cerrar la aplicación, o presiona cualquier otra tecla e ingresa para continuar. Y luego si leemos la línea y dice final, vamos a establecer end app igual a true. Ahora si nunca has visto esto, si de lo contrario en la misma línea, puedes hacer eso. Lo que significa que no tienes que añadir tus llaves así. Si tiene un solo fregadero, sola declaración simple para solo un if o de hecho otro, entonces podría tener su siguiente declaración en la misma línea. Entonces eso es solo un consejo práctico que ahorra tiempo. Y si n la app es verdad, lo que va a pasar está arriba en la parte superior, nos van a echar de este bucle while. ¿ De acuerdo? Si no es cierto, volverá a la cima y seguirá adelante. Esto simplemente pone un espacio, un retorno de carruaje si quieres. Entonces voy a pasar por todo eso Ahora. ¿ Dónde estamos en este apartado? Entonces después del tiempo, vamos a terminar con la app. Pero si nos echan del bucle while, lo que queremos hacer en realidad es simplemente regresar y decir que eso es todo. Ya he tenido suficiente. De vuelta vamos. Entonces ahora si golpeo play en el ícono de la calculadora en la parte superior, escriba un número seis. Voy a intentar escribir una letra H, no una entradas válidas. Probemos con cinco. Vamos a agregarlas. Y el resultado es 11. Presiona N y entidad cierra la app o pulsa cualquier tecla y termina para continuar. Correcto, para que podamos ingresar un número. Entonces intentemos 670. Dividir. Tu operación dará como resultado un error matemático. Entonces ahora en este caso en particular, nos hemos deshecho de ese símbolo del infinito. Y le hemos dicho al usuario final que no se puede dividir por 0. Entonces básicamente hemos anulado el comportamiento predeterminado ejecutando lo siguiente. Entonces si el número no es igual a 0 dará un resultado. Si es igual a 0, entonces devolvemos el resultado el cual establecemos como un doble punto nada un número. De acuerdo, así que ese es todo el programa principal, refactorizarlo completamente. Y ahora, supongo que si quisieras hacer algunos deberes, no voy a hacer esto en el curso. Descubre una manera de ponerlos en una clase diferente. C, no estás repitiendo esta entrada, todas estas líneas de entrada y lo que tienes, porque son muy, muy similares. Entonces creo que en realidad podrías encontrar una manera de condensar eso de alguna manera. De nuevo, no te voy a mostrar cuan totalmente voluntaria tarea para ti. Si quieres hacerlo. 21. PROYECTO DE CLASE: Correcto, ya es hora de tus proyectos de clase, ¿cuál es tu proyecto? Bueno, es para crear una aplicación de consola básica muy similar a la que hemos creado juntos en esta clase. Pero lo que quiero que hagas es ponerle un ligero giro. Lo que quiero que hagas es crear una app que te permita sumar ventas. Por ejemplo, $4.5 dólares más $2, etcétera. Una vez que hayas sumado esas ventas o cada vez que agregues otra venta, quiero que el programa muestre automáticamente un total en marcha para que no tengas que preguntar al usuario. Automáticamente les dice lo que están corriendo total. Y esto puede parecer simple, pero esto es lo básico de algo así como una aplicación de contabilidad haciendo un seguimiento de un total en marcha. Entonces ese es el proyecto básico y me gustaría que pararas eso desde cero. Puedes ir a consultar los videos que hemos hecho juntos. Puedes consultar el software que acabamos de hacer juntos, pero siempre es mejor si corres las cosas desde cero. Entonces te ves obligado a usar tu memoria activa para recordar cómo hacer realmente estas cosas, ¿verdad? Si eso es demasiado sencillo y lo haces en un par de minutos, entonces tengo un proyecto más avanzado para ti. Y eso es agregar una segunda capa a la aplicación, que es permitir correcciones, por ejemplo, menos $6 o menos $10. Y se puede ver si se trata de una aplicación contable, esas son las dos caras de la moneda contable. Tienes tus ingresos y tienes tus ventas. No, no tienes ingresos de ventas. Lo que quise decir fueron ingresos y gastos. Los ingresos provienen de las ventas, por supuesto. Por lo que las correcciones de estos números negativos serían sus costos o sus gastos. Quiero que agregues eso al proyecto y además visualices el total corriente una vez que restes esos. Entonces ese es tu proyecto. Una vez que lo hayas completado, me gustaría que tomaras una captura de pantalla de la parte relevante que es diferente al software que acabamos de hacer. Y luego publica eso en la cosa del área de clase del proyecto Skillshare donde realmente puedes publicar todas estas obras de arte si quieres. ¿ Verdad? Entonces esa es la reunión informativa de mi parte. Buena suerte con eso, y espero ver con qué se puede llegar.