如何使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);
}