Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打印出带有for循环的书籍列表,c#_C# - Fatal编程技术网

打印出带有for循环的书籍列表,c#

打印出带有for循环的书籍列表,c#,c#,C#,我有一个图书班,里面有几本书,有作者、出版年份和书名。现在我想用循环打印这些书,但我不确定应该用什么循环。以下是我的book类代码: class Book { public string forfattareEfternamn; public string forfattareFornamn; public string bokensTittle; public int lanseringsDatum; public string BokensTittl

我有一个图书班,里面有几本书,有作者、出版年份和书名。现在我想用循环打印这些书,但我不确定应该用什么循环。以下是我的book类代码:

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)