如果我有表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);
}
帮助我修复此代码只是为了显示唯一值
答案 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);
}