打印出带有for循环的书籍列表,c#
我有一个图书班,里面有几本书,有作者、出版年份和书名。现在我想用循环打印这些书,但我不确定应该用什么循环。以下是我的book类代码:打印出带有for循环的书籍列表,c#,c#,C#,我有一个图书班,里面有几本书,有作者、出版年份和书名。现在我想用循环打印这些书,但我不确定应该用什么循环。以下是我的book类代码: class Book { public string forfattareEfternamn; public string forfattareFornamn; public string bokensTittle; public int lanseringsDatum; public string BokensTittl
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);
}
}
这是主要代码,我在这里创建了我的书籍列表:
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 });
}
}
类程序
{
静态void Main(字符串[]参数)
{
列表书籍=新列表();
新增(新书{forfattareFornamn=“Dumas”,forfattarefternamn=“Alexandre”,bokensTittle=“基督山伯爵”,Lanseringsdatam=1844});
新增(新书{forfattareFornamn=“Clark”,forfattarefternamn=“Arthur C”,bokensTittle=“与罗摩会合”,Lanseringsdatam=1972});
新增(新书{forfattareFornamn=“Dumas”,forfattarefternamn=“Alexandre”,bokensTittle=“三个火枪手”,Lanseringsdatam=1844});
books.Add(新书{forfattareFornamn=“Defoe”,forfattarefternamn=“Daniel”,bokensTittle=“Robinson Cruise”,lanseringsdatam=1719});
books.Add(新书{forfattareFornamn=“Clark”,Forfattarefternamn=“Arthur C”,bokensTittle=“2001:太空漫游”,Lanseringsdatam=1968});
}
}
因此,我想使用一个循环,使用ToString()方法在控制台屏幕上打印列表中的书籍(不显式调用ToString())
WriteLine会自动调用ToString(啊,多态性…使用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.
}
希望有帮助。如果您在项目中包含对System.Linq的引用,您可以使用:
books.ForEach(b => Console.WriteLine(b))
您甚至可以将其缩短为:
books.ForEach(Console.WriteLine)
我不确定是否应该使用for循环或foreach,但这非常完美,谢谢@user2057693实际上都可以,但这更简短,更易于阅读;)你不需要系统。Linq就可以了。这是一种
List
()
books.ForEach(Console.WriteLine)