如何使Listbox只显示一个超过2个相同值的值C#

时间:2013-12-22 21:59:47

标签: c# listbox windows-phone

如果我有表Book和列作者|标题...但是如果有超过2个标题具有相同的作者,我怎样才能在列表框中只显示作者的一个值。很抱歉,因为我无法显示任何代码并提前致谢

我有像这样的加载功能

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);



    }

帮助我修复此代码只是为了显示唯一值

2 个答案:

答案 0 :(得分:0)

听起来你需要方法Distinct :) http://msdn.microsoft.com/en-us/library/bb348436(v=vs.110).aspx

(from Book b in BookDB.Books
                             orderby b.Author
                               select b.Author).Distinct();

此示例无法访问VS:)

答案 1 :(得分:0)

您可以使用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);
  }