C#リスト内の集合の重複項目(タイプオブジェクトと単一タイプ)を削除

2697 ワード

重複するタイプのオブジェクトBookInfoを除去する例:
bookList = bookList.Distinct(new DataRowComparer()).ToList(); // 

/// <summary>
///  ( )
/// </summary>
public class DataRowComparer : IEqualityComparer<BookInfo>
{
    public bool Equals(BookInfo b1, BookInfo b2)
    {
        return (b1.BookId == b2.BookId); // 
    }
    public int GetHashCode(BookInfo b)
    {
        return b.ToString().GetHashCode();
    }
}

 
単一の要素を除去するには、次の手順に従います.
List<string> list = new List<string>();
list.Add("a");
list.Add("a");
list.Add("b");
list.Add("c");
list.Add("b");
list = list.Distinct().ToList();