Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

460
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!