Tutorial C# nivel intermedio 3 --- IEnumerable e IEnumerator parte I

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ก.ย. 2024
  • En esta lección empezamos a ver dos interfaces importantes que provee el framework de .NET: IEnumerable e IEnumerator.
    Estas interfaces nos van a permitir tener clases que se pueden usar con el iterador foreach.

ความคิดเห็น • 34

  • @josemariagonzalezruiz6384
    @josemariagonzalezruiz6384 7 ปีที่แล้ว +9

    Muy buena explicacion hermano, lo felicito por tener el deseo de enseñar de manera gratuita sus conocimientos.

  • @hazlotumismo1419
    @hazlotumismo1419 3 ปีที่แล้ว +1

    Imprimimos unas rayitas jajajaja me hiciste el día, muy buen video! Gracias por el aporte!

  • @jazztapia2569
    @jazztapia2569 3 ปีที่แล้ว +1

    Excelente explicación muy claro, has ganado un suscriptor más.

  • @slobsangr
    @slobsangr 5 ปีที่แล้ว +2

    el mejor maestro nunca vi nadie enseñar tan bien!! muchisimas gracias

  • @mayoLedesma
    @mayoLedesma 5 ปีที่แล้ว +1

    Excelente clases maestro, que Dios lo bendiga grandemente.

  • @gabrielralfcaceresgabriell319
    @gabrielralfcaceresgabriell319 3 ปีที่แล้ว +2

    Todos los objetos iterables tienen el metodo GetEnumerator().
    Las instancias que contienen un metodo que devuelve un objeto IEnumerator basado en una coleccion de este objeto pueden ser directamente recorridas por el foreach.

  • @arislopez411
    @arislopez411 2 ปีที่แล้ว +3

    Estos conceptos son dificiles de digerir :(

  • @yonatancuervo3489
    @yonatancuervo3489 3 ปีที่แล้ว +1

    Toda mi vida vivi enga;ado !!!

  • @starlinpolanco8163
    @starlinpolanco8163 4 ปีที่แล้ว +1

    Excelente explicacion,Tienes el Don de la enseñanza (=>)(

  • @cddc2539
    @cddc2539 4 ปีที่แล้ว +2

    gracias, muy buena explicación

  • @jorgeaguilarsanguineti3094
    @jorgeaguilarsanguineti3094 5 ปีที่แล้ว +4

    Hola, al tratar de implementar la funcion GetEnumerator() de la clase CTiendaAutos me aparecia el error que tuve que solucionar agregando el tipo de la clase en el el parametro de retorno, me explico: public IEnumerator GetEnumerator() -- No se porque si en tu ejemplo no era requerido. Saludos y gracias por el video.

    • @nicosiored
      @nicosiored  5 ปีที่แล้ว +1

      Usaste la version generica de IEnumerator

    • @jorgeaguilarsanguineti3094
      @jorgeaguilarsanguineti3094 5 ปีที่แล้ว +1

      @@nicosiored Oks, ahora si, ya estoy usando solo el "System.Collections" y no el "System.Collections.Generic" Muchas gracias.

    • @desoft8b
      @desoft8b 4 ปีที่แล้ว

      También me pasó lo mismo, gracias.
      La única diferencia entre System.Collections.Generic y System.Collections es que ¿una es genérica y la otra no?.

    • @gabrielralfcaceresgabriell319
      @gabrielralfcaceresgabriell319 3 ปีที่แล้ว

      Grande!

  • @claudiomanzoliz2876
    @claudiomanzoliz2876 5 ปีที่แล้ว +2

    sabes, yo replique lo que indicas pero no tuve problemas en recorrer el arreglo de objetos Cautoa través de un foreach sin declarar la funcion getenumerator que indicas. será que el nuevo framework hace que ya no se necesite esto?

    • @nicosiored
      @nicosiored  5 ปีที่แล้ว +1

      Los arreglos ya tienen preconstruidos la parte de enumerable y enumerator

  • @josemanuelgomez901
    @josemanuelgomez901 4 ปีที่แล้ว +1

    Una pregunta que diferencia hay en usar un IENUMERABLE y usar directamente una coleccion, al usar una colleccion en automático puedo usar el foreach sin mas.

    • @nicosiored
      @nicosiored  4 ปีที่แล้ว +5

      Si es de las colecciones que ya vienen con el framework usa directamente el foreach. Si creas tu propia estructura de datos esto te sirve para que esa estructura pueda ser usada con foreach

  • @AlejandroHernandez-ru1zz
    @AlejandroHernandez-ru1zz ปีที่แล้ว +1

    Excelentes videos. De donde podria descargar los proyectos?

  • @rodrigozamora5964
    @rodrigozamora5964 3 ปีที่แล้ว +1

    Hola, saludos desde Argentina. Consulta, porque puedo usar el Método GetEnumerator() en la clase CTiendaAuto, sin aplicarle la interfaz IEnumerable.?(Visual Studio Comm.2017)

    • @Paradigmatico
      @Paradigmatico 3 ปีที่แล้ว +1

      La respuesta es simple las interfaces son CONTRUCTORES DEL LENGUAJE NO TIENEN TIPOS EN SU DEFINICION SOLO METÓDOS es por esto que puedes aplicar implementación implícita, sin necesidad de emplear herencia en la clase padre , con ellas obtienes flexibilidad para establecer "contratos" sobre como deben trabajar tus clases con respecto a tus Propias Interfaces. en idioma mas comprensible son tus archivos de orden superior en VS.

  • @superior4221
    @superior4221 4 ปีที่แล้ว

    Una pregunta, al tener un array en la "Tienda" solo es necesario imprimir el objeto para que regrese el array de autos?

  • @VenetNh
    @VenetNh 7 ปีที่แล้ว +1

    GRACIAS. MUY BUENO

  • @karimgel
    @karimgel 5 ปีที่แล้ว +1

    Muchas gracias

  • @germanminotti7176
    @germanminotti7176 6 ปีที่แล้ว

    Muy buenos tus videos, si quisiera comparar los autos por alguno de sus atributos se puede hacer con IEnumerator ? O solo con IComparer ? Gracias.

    • @nicosiored
      @nicosiored  6 ปีที่แล้ว

      Usa la implementacion de IComparable para la comparacion

  • @maycolchristianelcorrobarr41
    @maycolchristianelcorrobarr41 7 ปีที่แล้ว

    Es normal que cuando escribo el metodo ( public IENUMRATOR GetEnumrator(){} ) me pida el "using System.Collections;" ? , porq ni no lo pongo me tira error . Gracias por los tutoriales.

    • @nicosiored
      @nicosiored  7 ปีที่แล้ว

      Si, es normal. Esa interfaz pertenece al namespace de System.Collections

  • @bissash103
    @bissash103 6 ปีที่แล้ว

    Tengo una duda, llamaste a las variables de la clase auto como atributos min 7:51 , tengo entendido que las variables de las clases son campos y las propiedades son variables con accesors, y que el atributo es algo diferente. Aunque aun no he llegado a leer bien sobre los atributos, siempre me causa confucion que se le llame atributo a las variables de clases. Si pudieras explicarme porque se le llama atributos estaria mas que agradecido a ver si dejo de confundirme tanto con eso jajaja.

    • @nicosiored
      @nicosiored  6 ปีที่แล้ว +1

      De forma general un atributo define una propiedad que tiene la clase, pero tambien se usa para definir metadatos. Ese tipo de atributos los vemos en el curso de C# avanzado en la parte de los assemblies.
      En el resto de los cursos uso el termino de forma mas liberal y general, en ese caso serian el equivalente a las variables de clase, mas cercano al concepto que se usa en UML

    • @bissash103
      @bissash103 6 ปีที่แล้ว +1

      Gracias por tu respuesta y por los cursos, estoy estudiando de forma autodidacta diseño en videojuegos y programacion y tus cursos son muy valiosos, sigue asi!

  • @leandropalavecino7179
    @leandropalavecino7179 หลายเดือนก่อน

    Por eso es lento 🤨🫵. El current es de tipo object. Y despues eso seguro hace un typecast y anda cambiando los tipos. Eso no se hace 🤨

  • @jdpaz2123
    @jdpaz2123 5 ปีที่แล้ว +2