首页 > 解决方案 > 文件中的文本是否匹配的问题将其计为一个 c#

问题描述

    List<string> AllPublishers(List<Book> books)
    {
        List<string> publishers = new List<string>();
        foreach (Book book in books)
        {
            if (!publishers.Contains(book.Publisher))
            {
                publishers.Add(book.Publisher);
            }
        }
        return Publishers;
    }

    void PublishersList(List<Book> books)
    {
        string[] lines = new string[books.Count];
        for (int i = 0; i < books.Count; i++)
        {
            lines[i] = String.Format("{0}", books[i].);
        }
        File.WriteAllLines(@"Publishers.csv", lines);
    }

嘿,我的项目只需要最后一段,所以试着完成它。因此,如果发布者相同,上面的代码应该只打印出一个发布者,而是打印出它从数据文件中读取的所有发布者。

例如:

给出的数据是(书名;出版商):

它现在的打印方式是:

以及它应该如何打印:

感谢您的帮助,希望您有一个美好的一天/晚上。

标签: c#

解决方案


PublishersList,我猜你需要类似的东西:

var publisherList = AllPublishers(books);

真正得到出版商。然后,在方法的其余部分使用publisherList而不是。book

string[] lines = new string[publisherList.Count];
for (int i = 0; i < publisherList.Count; i++)
{
    lines[i] = String.Format("{0}", publisherList[i].);
}
File.WriteAllLines(@"Publishers.csv", lines);

就目前而言,您只是在迭代books列表,这就是您获得相同发布者输出的原因。


推荐阅读