Если у меня есть таблица Book со столбцом 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);



    }

Помогите мне исправить этот код, чтобы показать уникальное значение

-1
user3123487 23 Дек 2013 в 01:59

2 ответа

Лучший ответ

Вы можете использовать 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);
  }
0
Oscar Emilio Perez Martinez 22 Дек 2013 в 22:33

Похоже, вам нужен метод Distinct :) http://msdn.microsoft.com/en- us / library / bb348436 (версия = 110) .aspx

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

В этом примере нет доступа к VS :)

0
Softwarehuset 22 Дек 2013 в 22:33