首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果文件中的文本匹配,则将其计算为一个c#。

如果文件中的文本匹配,则将其计算为一个c#。
EN

Stack Overflow用户
提问于 2018-09-19 17:21:22
回答 1查看 17关注 0票数 0
代码语言:javascript
运行
复制
    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);
    }

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

例如:

所提供的数据是(书籍名称;出版商):

  • 哈利波特;布卢姆斯伯里出版社
  • 哈利波特;布卢姆斯伯里出版社
  • 哈利波特;布卢姆斯伯里出版社
  • 汤姆·索耶;布拉布拉

它现在的打印方式是:

  • 布卢姆斯伯里出版社
  • 布卢姆斯伯里出版社
  • 布卢姆斯伯里出版社
  • BlaBla

以及如何打印:

  • 布卢姆斯伯里出版社
  • BlaBla

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-19 17:36:41

PublishersList中,我猜你需要这样的东西:

代码语言:javascript
运行
复制
var publisherList = AllPublishers(books);

才能得到出版商。然后,对方法的其余部分使用publisherList而不是book

代码语言:javascript
运行
复制
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列表,这就是为什么您获得相同的发行者输出。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52411195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档