No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende Ingl茅s, Programaci贸n, AI, Ciberseguridad y mucho m谩s.

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

4 D铆as
10 Hrs
6 Min
27 Seg

Implementando colecciones

22/32
Recursos

Vamos a cambiar nuestra implementaci贸n del array de cursos por un List de tipo Curso.

Para a帽adir un nuevo objeto a la colecci贸n usaremos el m茅todo Add, si queremos a帽adir un conjunto de objetos en forma de colecci贸n podemos hacerlo mediante el m茅todo AddRange y para remover todos los miembros de la colecci贸n usamos el m茅todo Clear.

Aportes 43

Preguntas 10

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Formas de eliminar elementos de una colecci贸n

  • Clear(). Elimina todos los elementos
  • Remove(objeto). Elimina el objeto que se le pasa al m茅todo
  • RemoveAll(Predicado). Elimina todos los objetos para los que el predicado devuelva true. El predicado es un m茅todo que recibe un elemento de la lista (instancia de un objeto), lo procesa, y regresa un valor booleano.
  • RemoveAt(铆ndice). Elimina el elemento con el 铆ndice llamado.
  • RemoveRange(铆ndice, cantidad). Elimina la cantidad especificada de elementos a partir del 铆ndice indicado.

**Recuerda que los 铆ndices inicial en 0!

Hacer Debug en vscode, una gran herramienta.

Estas explicaciones debian ser en Windows Form

RemoveALL ? Es lo mismo que una arroy function en javascript? al utilizar un filter ? Es llamado expresi贸n lambda el arrow Function en C# ?

miEscuela.Cursos.RemoveAll(curso => curso.Jornada == TiposJornada.manana);

El pocillo esta ahora caliente. Salu2 馃槂

me encanto programar con c# lo elegi como mi primer lenguaje de programacion y no me arrepiento gran curso ademas

Queue (Cola): Trabaja bajo el pensamiento FIFO (First In First Out) primero en entrar primero en salir, como funcionar铆a una cola en un banco o similar, quien llega primero se atiende primero.

https://es.wikipedia.org/wiki/First_in,_first_out

Stack (Pila): Trabaja sobre el pensamiento LIFO (Last in, First Out) el primero en entrar es el 煤ltimo en salir

https://es.wikipedia.org/wiki/Pila_(inform谩tica)

Lista vista en el curso

<List<int> numeros = new List<int>();>

Como agregar datos

<numeros.Add(1);>

Eliminar datos en List

<numeros.RemoveAt(0);>

Alguien podria ayudarme por favor?
No entiendo que sucede con las Jornadas

Me sorprendi贸 gratamente la eficiencia de la lista.
Hice un experimento de cuanto tardaba en imprimir un array de 20 n煤meros contra una lista de 20 n煤meros.
.
Primero, para el arreglo en 3 intentos los tiempos fueron 11.21ms, 17.82ms y 16.05ms
.

Stopwatch tiempoArray = new();
tiempoArray.Start();
var arrayLista = new int[20]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
foreach (var item in arrayLista)
{
    Console.WriteLine($"{item}");
}
tiempoArray.Stop();
Console.WriteLine($"Tiempo total {tiempoArray.Elapsed.TotalMilliseconds}");

.
Luego para la lista, los tiempos fueron 5.67ms, 5.86ms y 5.55ms
.

Stopwatch tiempoColeccion = new();
tiempoColeccion.Start();
var coleccionLista = new List<int>{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
foreach (var item in coleccionLista)
{
    Console.WriteLine($"{item}");
}
tiempoColeccion.Stop();
Console.WriteLine($"Tiempo total {tiempoColeccion.Elapsed.TotalMilliseconds}");

La lista fue notablemente m谩s eficiente

por que esta seccion en una linea falta () pero si se a帽ade funciona sin problema
En el 00:20 el profe no tiene () en la tercera linea pero si yo lo pongo no pasa nada

escuela.Cursos = new Curso[]
            {
                new Curso() {Nombre = "101"},
                new Curso() {Nombre = "201"},
                new Curso() {Nombre = "301"}
            };```

Con todo el respeto Luis, se que ac谩 hay algunas personas que ya desarrollan apps, como Yo seguro hay otros que no.
Creo que deber铆as ordenadamente ir mostrando los cambios en el tipo de la propiedad Curso en la cual se define una nueva para la jornada de acuerdo al enum TiposJornada, y cambia la definici贸n de la propiedad Cursos en la clase escuela, que deja de definirse como array y ahora se declara como List

mnemotecnia para pilas y colas:

  • Queue(Cola): Primero en llegar 鈫 primero en irse
    • Imag铆nense la cola de un mercado o del banco; el primero que llega es el primero que atienden.
  • Stack(Pila): Primero en llegar 鈫 煤ltimo en irse
    • Imag铆nense una pila de platos; el primero que ponen es que est谩 hasta abajo de todo, por lo tanto, ese ser谩 el 煤ltimo en irse.

Juan Pablo is very good!

Excelente, buena clase

馃懡

En esta parte del c贸digo, en escuela.Cursos aparec铆a un error en vscode CS1061. Si les llega a suceder solo recompilen o reinicien vscode.

if (escuela?.Cursos != null)
	{
		foreach (var curso in escuela.Cursos)
			{
				WriteLine($"Nombre: {curso.Nombre} , ID: {curso.UniqueID}");
			}
	}

System.Collections.Generic鈥 tu nuevo mejor amigo jajaja excelente

Me parecen mucho m谩s sencillas de implementar que en Java 馃槂

Excelente explicacion

Para el uso de de colecciones es imprecindible que importemos la libreria de System.Collections con esto el compilador no nos va arrojar ning煤n error.

escuela.Cursos.AddRange(otrColeccion);
ImpimirCursosEscuela(escuela);

        escuela.Cursos.RemoveAll(delegate (Curso cur)
                                {
                                    return cur.Nombre == "301";
                                });

        escuela.Cursos.RemoveAll((cur)=> cur.Nombre == "501" && cur.Jornada == TiposJornada.Ma帽ana );

Excelente!

Para a帽adir un nuevo objeto a la colecci贸n usaremos el m茅todo Add, si queremos a帽adir un conjunto de objetos en forma de colecci贸n podemos hacerlo mediante el m茅todo AddRange y para remover todos los miembros de la colecci贸n usamos el m茅todo Clear.

Buenas clases

Me perdi y tuve que repasar xd

No me funciono de Debugger con Visual Code si alguno me puede ayudar le agradezco gracias envio el error

En mi caso estoy teniendo un error con el metodo add

escuela.Curso.Add(new Curso(){Nombre=鈥401鈥潁);


Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.

Me podr铆an indicar a que se debe este error?.

Gracias.

Saludos
No puedo hacer el debug
Adjunto la fotografia

La sintaxis <string> se conoce como sintaxis diamante, en Java.

Buena clase

Excelente explicaciones sobre las colecciones y como usarlas muy bien

la colecci贸n nos permite agregar nuevos miembros.

Usar colecciones y no arrays

muy interesante

IEnumerable es una interface implementada por las colecciones de .NET

En los comentarios de la Interface IEnumerable encontramos la siguiente descripcion

Devolve un enumerador que itera a trav茅s de una colecci贸n.

nice class

Excelente clase.

Muy interesante clase.

Alguien me puede ayudar!! Me sale este error

Sobre el debug, tube que poner la ruta del proyecto manualmente
me saltaba una opcion donde me abria un archivo llamado launch.json
Y en ese archivo en en el apartado 鈥減rogram鈥 tube que buscar mi propio archivo
"${workspaceFolder}/bin/Debug/netcoreapp3.1/etapa1.dll",

Con esto van a poder saber cuales son los HashCode de sus cursos 馃槂

 WriteLine($"Nombre: {arr.Nombre} //  Id: {arr.UniqueId} // HashCode: {arr.GetHashCode()}");```

De todos los cursos que he visto, creo que es el primero en el que muestra como usar el Debugger. Cada vez me gusta mas este curso