SORU
22 EKİM 2009, PERŞEMBE


Liste etmeniz kullanarak Kaldır çoğaltır

properties (Id, Name, Code, Price) a sınıfı Items var.

Items Listesi yinelenen öğeleri ile doldurulur.

Ex.:

1         Item1       IT00001        $100
2         Item2       IT00002        $200
3         Item3       IT00003        $150
1         Item1       IT00001        $100
3         Item3       IT00003        $150

Nasıl liste etmeniz kullanarak çiftleri kaldırmak için?

CEVAP
22 EKİM 2009, PERŞEMBE


var distinctItems = items.Distinct();

Özellikleri sadece birkaç maç için, özel bir eşitlik karşılaştırıcısı oluşturun, örneğin:

class DistinctItemComparer : IEqualityComparer<Item> {

    public bool Equals(Item x, Item y) {
        return x.Id == y.Id &&
            x.Name == y.Name &&
            x.Code == y.Code &&
            x.Price == y.Price;
    }

    public int GetHashCode(Item obj) {
        return obj.Id.GetHashCode() ^
            obj.Name.GetHashCode() ^
            obj.Code.GetHashCode() ^
            obj.Price.GetHashCode();
    }
}

Daha sonra aşağıdaki gibi kullanabilirsiniz:

var distinctItems = items.Distinct(new DistinctItemComparer());

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Damien Hayes

    Damien Hayes

    11 Mart 2008
  • Fullscreen

    Fullscreen

    23 Mart 2006
  • TheGamer2323

    TheGamer2323

    25 Ocak 2009