我有一本书课,里面有几本书,包括书籍作者,出版年份和书名。现在我想用循环打印书籍,但我不确定我应该使用什么循环。这是我的书类代码:
class Book
{
public string forfattareEfternamn;
public string forfattareFornamn;
public string bokensTittle;
public int lanseringsDatum;
public string BokensTittle
{
get { return bokensTittle; }
set { bokensTittle = value; }
}
public string ForfattareFornamn
{
get {return forfattareFornamn;}
set {forfattareFornamn = value;}
}
public string ForfattareEfternamn
{
get {return forfattareEfternamn;}
set {forfattareEfternamn = value;;}
}
public int LanseringsDatum
{
get { return lanseringsDatum; }
set { lanseringsDatum = value; }
}
public override string ToString()
{
return string.Format("{0}, {1}, {2}, {3} ", forfattareEfternamn, ForfattareFornamn, bokensTittle, lanseringsDatum);
}
}
这是Main中的代码,我创建了我的书籍列表:
class Program
{
static void Main(string[] args)
{
List<Book> books = new List<Book>();
books.Add(new Book { forfattareFornamn = "Dumas", forfattareEfternamn = "Alexandre", bokensTittle = "The Count Of Monte Cristo", lanseringsDatum = 1844 });
books.Add(new Book { forfattareFornamn = "Clark", forfattareEfternamn = "Arthur C", bokensTittle = "Rendezvous with Rama", lanseringsDatum = 1972 });
books.Add(new Book { forfattareFornamn = "Dumas", forfattareEfternamn = "Alexandre", bokensTittle = "The Three Musketeers", lanseringsDatum = 1844 });
books.Add(new Book { forfattareFornamn = "Defoe", forfattareEfternamn = "Daniel", bokensTittle = "Robinson Cruise", lanseringsDatum = 1719 });
books.Add(new Book { forfattareFornamn = "Clark", forfattareEfternamn = "Arthur C", bokensTittle = "2001: A space Odyssey", lanseringsDatum = 1968 });
}
}
所以,我想使用一个循环,使用ToString()方法在控制台屏幕上的列表中打印书籍(不显式调用ToString())
答案 0 :(得分:3)
foreach(Book b in books)
Console.WriteLine(b);
WriteLine自动调用ToString(啊,多态...)
答案 1 :(得分:2)
使用foreach循环循环查看集合中出现的书籍数量。然后将它们打印到控制台。
foreach (Book book in books)
{
Console.WriteLine(book.ToString()); // ToString gets called automatically so you can skip that if you want. I think it makes it a little clearer when reading it again.
}
希望它有所帮助。
答案 2 :(得分:2)
如果在项目中包含对System.Linq的引用,则可以使用:
books.ForEach(b => Console.WriteLine(b))
您甚至可以将其缩短为:
books.ForEach(Console.WriteLine)