Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

457
Vistas
c# Imprimir elementos de la lista en una clase

Buenas tardes,

Estoy tratando de refrescar un poco mis conocimientos sobre C# y tengo el desafío de crear una clase llamada Biblioteca, con una propiedad de Listar libros. Tengo otra clase llamada Libros que obtiene el título, autor y número de páginas. El objetivo aquí es agregar libros de la otra clase a la biblioteca.

Agregué mis libros de mi clase de libros a la Lista de la biblioteca. Parece que no puedo imprimirlo en la consola debido a un error que agregaré al final. Sé cómo imprimir los elementos de la lista normalmente, pero no para esto.

Clase para libro

 public class Book { //This Class doesn't require fields //properties public string Title { get; set; } public string Author { get; set; } public int NumberOfPages { get; set; } //Constructors public Book() { } public Book(string title, string author, int numberOfPages) { Title = title; Author = author; NumberOfPages = numberOfPages; } public override string ToString() { return $"Title: {Title}\n" + $"Author: {Author}\n" + $"Number of pages: {NumberOfPages}"; } }

Clase para biblioteca

 public class Library { //This class has no fields //Properties public List<Book> Books { get; set; } public string LibraryName { get; set; } public string StreetAddress { get; set; } public string City { get; set; } public string State { get; set; } public string Zip { get; set; } //Constructors public Library() { } public Library(List<Book> books, string libraryName, string streetAddress, string city, string state, string zip) { Books = books; LibraryName = libraryName; StreetAddress = streetAddress; City = city; State = state; Zip = zip; } public override string ToString() { return $"{Books}\n\n" + $"Library Name: {LibraryName}\n" + $"Address: {StreetAddress}, {City}, {State} {Zip}"; } }

Método para imprimir la clase en la consola

 void Library() { List<Book> books = new List<Book>(); books.Add(lordLoss); books.Add(harryPotter); Library kansasCity = new Library(books, "Kansas City Library", "3242 E 24th St", "Kansas City", "MO", "64115"); Console.WriteLine(books); }

Código de error que estoy recibiendo

 System.Collections.Generic.List`1[ClassLibrary.Book]
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Descubrí la respuesta. Simplemente puede colocar el foreach dentro del área ToString().

 public override string ToString() { string booksInLibrary = ""; foreach (Book b in Books) { booksInLibrary += b + "\n"; } return $"Books: \n {booksInLibrary}" + $"Library Name: {LibraryName}\n" + $"Address: {StreetAddress}, {City}, {State} {Zip}"; }
over 4 years ago · Santiago Trujillo Denunciar

0

Tendrá que iterar sobre la lista e imprimir cada libro por separado.

Con bucle for :

 for (int i = 0; i < books.Count; i++) { Book book = books[I]; Console.WriteLine(book); }

Con bucle foreach :

 foreach (Book book in books) { Console.WriteLine(book); }

Con List.ForEach :

 books.ForEach(book => Console.WriteLine(book));
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda