如何使Listbox只显示两个以上相同值中的一个值C#

如何使Listbox只显示两个以上相同值中的一个值C#,c#,listbox,windows-phone,C#,Listbox,Windows Phone,如果我有一本有作者标题的表格书。。。但是,如果有两个以上的标题具有相同的作者,如何在列表框中仅显示一个作者值。很抱歉,因为我无法显示任何代码并提前表示感谢 我有这样的加载函数 public void LoadData() { var orderedAuthor = (from Book b in BookDB.Books orderby b.Author

如果我有一本有作者标题的表格书。。。但是,如果有两个以上的标题具有相同的作者,如何在列表框中仅显示一个作者值。很抱歉,因为我无法显示任何代码并提前表示感谢

我有这样的加载函数

public void LoadData()
    {

            var orderedAuthor = (from Book b in BookDB.Books
                                 orderby b.Author
                                   select b); Data.Clear();
            foreach (Book m in orderedAuthor)
                Data.Add(m);



    }

请帮助我修复此代码以显示唯一值(听起来您需要使用Distinct方法:)

此示例没有访问VS:)

您可以使用linq

例如:

    public bool exists(string author)
    {
        bool hasAuthor = this.Data.Any(c => c.Author == author);
        return hasAuthor;
    }
然后你就叫它

 foreach (Book m in orderedAuthor)
 {
           if(this.exists(m.Author)!=true)
            Data.Add(m);
  }

我不明白你的名字:)全名是作者吗?如果是这样,我已经为我的错误添加了code.sr。因为我只想展示一个简单的例子。。。代码是不同的…现在好了,在我添加了你的代码之后,我接下来能做什么?如何将其称为ItemsSource??最后使用.ToList()并将datasource设置为此列表。如果要将其作为表中所有列的常规函数…即作者、出版商、流派等,。。。。如何编辑我的代码?
 foreach (Book m in orderedAuthor)
 {
           if(this.exists(m.Author)!=true)
            Data.Add(m);
  }