Exemple #1
0
        static void Main(string[] args)
        {
            var Estudiante = new List <Estudiante>(); //Creamos la variable "Estudiante" y le asignamos la instancia de la nueva lista

            var Agregar = true;                       //Creamos la variable "Agregar" y la asignamos como true

            while (Agregar)                           //Ciclo while en la variable "Agregar"
            {
                try                                   //Try-Cath por si ingresamos por error letras en la matricula...
                {
                    int Matricula = 0;                //Creamos una variable Matricula como int y la igualamos a 0

                    var E = new Estudiante();         //Instanciamos la clase "Estudiante" como E

                    Console.WriteLine("");            //cw para pasar de linea...

                    Console.WriteLine("Ingrese Matricula:");
                    bool result = int.TryParse(Console.ReadLine(), out Matricula); //Creamos una variable "resul" como bool y aplicamos el int.TryParse, pidiendo la Matricula al usuario
                    Console.WriteLine("");                                         //cw para pasar de linea...             //seguido del metodo out usando la variable "Matricula" que esta igualada a 0

                    if (result == false)                                           //Condicion por si la variable "resul" es falsa
                    {
                        Console.WriteLine("Ingrese un numero...");                 //Mensaja de aviso...
                        Matricula = int.Parse(Console.ReadLine());                 //Volvemos pedir como int.Parse
                    }

                    Console.WriteLine(""); //cw para pasar de linea...

                    Console.WriteLine("Inrgese Nombre:");
                    E.Nombre = Console.ReadLine(); //Pedimos al usuario el Nombre
                    Console.WriteLine("");         //cw para pasar de linea...

                    Console.WriteLine("Ingrese Semestre:");
                    E.Semestre = Console.ReadLine(); //Pedimos al usuario el Semestre
                    Console.WriteLine("");           //cw para pasar de linea...

                    Console.WriteLine("Ingrese Carrera:");
                    E.Carrera = Console.ReadLine();                            //Pedimos al usuario la Carrera
                    Console.WriteLine("");                                     //cw para pasar de linea...

                    Estudiante.Add(E);                                         //Agregamos los valores ingresado de la instancia "E" a la lista "Estudiante"

                    Console.WriteLine("¿Quiere agregar otro usuario?    Y/N"); //Preguntamos al usuario...

                    if (Console.ReadLine() != "Y")                             //Condicion por si respondemos que si
                    {
                        Agregar = false;                                       //Cambiamos de true a false la variable Agregar
                    }
                }
                catch (Exception)                                                           //Si cometemos el error entonces se desplega el mensaje
                {
                    Console.WriteLine("Error agregando el usuario, intente nuevamente..."); //Mensaje de aviso...
                    Console.ReadKey();                                                      //Console ReadKey para que no se cierre el programa
                    Console.Clear();                                                        //Limpiamos la consola...
                }
            }

            //En resumen lo que hicimos fue darle a entender a la consola que ingresamos numeros
            //en una variable que esta dada principalmente como string (ya que al ser string admite
            //como numeros y letras) usamos el try.Parse con una variable igualada a 0 asi que cuando
            //ingresamos letras en la matricula primero iguala la variable "Matricula"
            //como int.Parse y de ahi te manda al catch para darte el mensaje de ingreses solo numero
            //y si no ingresaste letras el ciclo sigue igual dependiendo la condicion que le des al if.
        }
        static void Main(string[] args)
        {
            // Vamos a crear uba lista y unos objetos para luego pedir
            var estudiante = new List <Estudiante>();

            var agregar = true;

            while (agregar)
            {
                try
                {
                    // Vamos a llamar a la clase para pedir lo que ocupemos
                    var E  = new Estudiante();
                    int Ma = E.Matricula;

                    Console.WriteLine("Ingrese Matricula:");

                    // Este es para que cuando el usuario no ingrese lo que sea un numero en este ejemplo mande el aviso en el console
                    //Write line y le diga que ingrese el numero
                    int.TryParse(Console.ReadLine(), out Ma);
                    if (Ma == 0)
                    {
                        //(Aqui muestra el mensaje
                        Console.WriteLine("Ingrese un numero");
                        Console.WriteLine("Ingrese de nuevo la matricula");
                        int.TryParse(Console.ReadLine(), out Ma);
                    }

                    Console.WriteLine("Ingrese Nombre:");
                    E.Nombre = Console.ReadLine();
                    Console.WriteLine("Ingrese Carrera:");
                    E.Carrera = Console.ReadLine();
                    Console.WriteLine("Ingrese Semestre:");
                    E.Semestre = Convert.ToInt32(Console.ReadLine());
                    //Aqui va a ser un tipo de break´point y es como el primero que hicimos para mostrar que no ingreso bien lo que se le pidio
                    //int matricula;
                    //bool result;

                    //result = int.TryParse(Console.ReadLine(), out matricula);

                    //if (result == false) ;
                    //{
                    //  Console.WriteLine("ingrese un numero");
                    //continue;
                    //}



                    Console.WriteLine("¿Quiere agregar otro usuario V/N");
                    if (Console.ReadLine() == "N")
                    {
                        agregar = false;
                    }
                }
                // Cuando nos equivoquemos va a aparecer este mensaje
                catch (Exception ex)
                {
                    Console.WriteLine("Intenta nuevamente");
                }
            }

            Console.ReadKey();

            // CONCLUSION: Esto de excepciones es algo muy util por que si el usuario se equivoca manda el error y si esta facil para  hacerlo
            // Ademas ue es buena opcion utilizar las excepciones para asi controlar los errores que podamos tener al crear nuetros codigos
            // Y eso nos ayuda ya que puede ocurrir algun error inesperado al momento de ejecutar el programa y el usuario no haga lo que se pide
            //
        }