.NET 6’daki yenilikler [7]: Yeni LINQ operatörü UnionBy()

Womanne

Member
.NET 6 What’s New serisinin yedinci bölümü, nesne kümelerini yinelemeler olmadan bağlamak için bir işleç hakkındadır.


Bu serinin önceki bölümünde ben DistinctBy() ek olarak Distinct() işlenmiş. Bu hafta yaklaşık UnionBy() ek olarak Union(). .NET Framework 3.5’ten (Kasım 2007’de piyasaya sürüldü) beri var olan ikinci operatör, bir birleşim kümesi oluşturmak için iki nesne kümesini birbirine bağlar.

Adları ve renkleri olan iki takım demet verilir:

var personen1 = new (string Name, string Farbe)[] {
("Annalena", "grün"),
("Angela", "schwarz"),
("Olaf", "rot"),
("Norbert", "rot"),
("Saskia", "rot"),
("Robert", "grün") };
var personen2 = new (string Name, string Farbe)[] {
("Armin", "schwarz"),
("Christian", "gelb"),
("Alice", "blau") };


Bu tutarlar ise Union() çalışma arkadaşı

var allpeople1 = insanlar1.Union(people2);

birleşim kümesini elde ederiz

(Annalena, grün)
(Angela, schwarz)
(Olaf, rot)
(Norbert, rot)
(Saskia, rot)
(Robert, grün)
(Armin, schwarz)
(Christian, gelb)
(Alice, blau)


yeni operatör UnionBy() yinelemeleri filtrelemek için bir ölçüt belirtmenize de olanak tanır.

var allePersonen2 =
personen1.UnionBy(personen2, x => x.Farbe);

hepsi bu kadar

(Annalena, grün)
(Angela, schwarz)
(Olaf, rot)
(Christian, gelb)
(Alice, blau)

Bu nedenle, birleştirme kümesine yalnızca rengine göre ilk kişi dahil edilir.
()



Haberin Sonu
 
Üst