başka Listesinden bir listesi nesnelere veri eklemek Birleştirme. Ancak oldukça uzun zaman alır çünkü her iki liste de oldukça büyüktür (lstA'da 70k öğelerinde ve lstB'de 20k öğelerinde).farklı türde iki Listeler
İhtiyacım olanı elde etmenin daha hızlı veya daha etkili bir yolu olup olmadığını merak ediyordum? Belki LINQ ile?
var joinedData = dataA.Join(dataB, dA => dA.ItemNo, dB => dB.ItemNo, (dA, dB) => new { dA, dB }));
foreach(var pair in joinedData)
{
pair.dA.ItemDescription = pair.dB.ItemDescription;
}
Distinct
, GroupBy
ve Join
işlemleri karma kullandığından, bunların O(N)
yerine O(N²)
yakın olmalıdır:
Koleksiyonlar aynı uzunlukta ise .Zip() –
kullanabilirsiniz. Verileri ItemNo'da sipariş verebileceğinizi varsayalım. Bunu el ile yapmak istiyorsanız (bazı kütüphane işlevlerini kullanmamanız durumunda) bunu yapabilirsiniz: her iki listeyi de ItemNo'ya göre sıralayın, verileri birleştirme türünde birleştirme adımına benzer şekilde ekleyin. Bu nlogn içinde çalışmalıdır. – Aziuth