SequenceEqual Metodu
SequenceEqual metodu list tipinde tanımlanan iki diziyi hem değerleri hem de sırası ile tamamen eşitliğini kıyaslar. Örneğin iki list dizi içerisindeki değerler aynı fakat sıralaması farklı ise eşitlik sağlanmamış olarak kabul ediliyor. Tam eşitlik için değerler ve değerlerin sırası da aynı olmalı. Metod bize true yada false olarak sonuç dönmektedir.SequenceEqual Örnek 1
int[] arrDizi1 = new[] { 1, 2, 5, 7 }; int[] arrDizi2 = new[] { 1, 2, 5, 7 }; bool blnEslesti = arrDizi1.SequenceEqual(arrDizi2); Console.WriteLine($"İki dizinin eşitlik sonucu: {blnEslesti}");
SequenceEqual Örnek 1

Benzer şekilde degerleri aynı olan fakat sıralaması farklı olan iki dizi karşılaştırmasını inceleyelim.
SequenceEqual Örnek 2
int[] arrDizi1 = new[] { 1, 2, 5, 7 }; int[] arrDizi2 = new[] { 5, 1, 7, 2 }; bool blnEslesti = arrDizi1.SequenceEqual(arrDizi2); Console.WriteLine($"İki dizinin eşitlik sonucu: {blnEslesti}");
SequenceEqual Örnek 2

Görüldüğü gibi iki dizi aynı değerlere sahip fakat değerlerin sırası farklı olduğu için tam eşleşme sağlanamadı. Dolayısıyla sonuç false olarak yansıdı.
Aggregate Metodu
Aggregate yöntemi, bir listedeki her öğe üzerinde, önceki işlemleri de dikkate alarak bir işlem gerçekleştirir. Örneğin, bir listenin ilk iki öğesi üzerinde bir işlem gerçekleştirir ve sonucu üçüncü öğe üzerinde işlem yapmak için kullanır, ardından tek bir değer döndürmek için sürekli olarak devam eder.Aggregate Örnek 1
string[] arrKelimeler = new[] { "Merhaba", "Dünya", "Yazılıma", "Hoşgeldiniz"}; string strCumle = arrKelimeler.Aggregate((a,b) => a + " " + b); Console.WriteLine($"{strCumle}");
Aggregate Örnek 1

Diğer bir örnekte ise sayısal değerli dizinin elemanlarını toplama işlemi yapalım.
Aggregate Örnek 2
int[] arrSayilar = new[] { 67, 8, 16, 100 }; int intToplam = arrSayilar.Aggregate((a, b) => a + b); Console.WriteLine($"Dizideki sayıların toplam: {intToplam}");
Aggregate Örnek 2

ToLookup Metodu
ToLookup bir dizinin öğelerini belirli bir anahtara göre gruplamak ve daha sonra bu gruplara hızlı erişim sağlamak istediğiniz durumlarda Lookup'ı kullanışlı hale getirir.ToLookup Örnek 1
int[] sayilar = new[] { 1, 2, 3, 4, 5, 6, 7, 8 }; ILookup<bool, int> ciftSayilarDizisi = sayilar.ToLookup(x => (x % 2) == 0); IEnumerable<int> ciftSayilar = ciftSayilarDizisi[true]; IEnumerable<int> tekSayilar = ciftSayilarDizisi[false]; Console.WriteLine("Çift Sayılar: " + string.Join(",", ciftSayilar)); Console.WriteLine("Tek Sayılar: " + string.Join(",", tekSayilar));
ToLookup Örnek 1

Diğer bir örnekte ise koşul kullanımı yapalım.
ToLookup Örnek 2
class Araba { public string marka { get; set; } public string model { get; set; } public int fiyat { get; set; } } Araba[] arabalar = new[] { new Araba { marka = "Audi", model = "A5", fiyat = 2000 }, new Araba { marka = "Audi", model = "A4", fiyat = 1900 }, new Araba { marka = "Audi", model = "Q3", fiyat = 700 }, new Araba { marka = "Audi", model = "Q7", fiyat = 1100 }, new Araba { marka = "Mercedes", model = "EQB", fiyat = 4000 }, new Araba { marka = "Mercedes", model = "GLB", fiyat = 3800 }, new Araba { marka = "Mercedes", model = "GLA", fiyat = 5000 }, new Araba { marka = "Tesla", model="Model 3", fiyat = 1700 }, new Araba { marka = "Tesla", model="Model Y", fiyat = 1950 }, new Araba { marka = "Tesla", model="Model X", fiyat = 2380 } }; var degerler = arabalar.ToLookup(a => a.marka, b => b.fiyat); int intAudiToplam = degerler["Audi"].Sum(); int intMercedesToplam = degerler["Mercedes"].Sum(); Console.WriteLine($"Audi araçların toplam değeri: {intAudiToplam}"); Console.WriteLine($"Mercedes araçların toplam değeri: {intMercedesToplam}");
ToLookup Örnek 2

GroupJoin Metodu
GroupJoin operatörü, iki diziyi anahtara göre birleştirir ve sonucu eşleşen anahtara göre gruplandırır ve ardından gruplanmış sonuç ve anahtar koleksiyonunu döndürür.GroupJoin Örnek 1
var arrBolumler = new[] { new { Id = 1, Ad = "Genel Cerrahi" }, new { Id = 2, Ad = "Göz Hastalıkları" }, new { Id = 3, Ad = "Ortopedi ve Travmatoloji" }, new { Id = 4, Ad = "Kulak Burun Boğaz" } }; var arrDoktorlar = new[] { new { Id = 1, BolumId = 1, AdSoyad = "Mehmet Can" }, new { Id = 2, BolumId = 4, AdSoyad = "Şerif Doğan" }, new { Id = 3, BolumId = 1, AdSoyad = "Tamer Şahin" }, new { Id = 4, BolumId = 3, AdSoyad = "Selim Şahin" }, new { Id = 5, BolumId = 2, AdSoyad = "Naim Demir" }, new { Id = 6, BolumId = 4, AdSoyad = "Oğuz Mert" }, new { Id = 7, BolumId = 1, AdSoyad = "Metin Cenk" } }; var gruplandirma = arrBolumler.GroupJoin(arrDoktorlar, bolumler => bolumler.Id, doktorlar => doktorlar.BolumId, (bolumler, doktorlar) => new { bolumler, doktorlar }); foreach (var grup in gruplandirma) { Console.WriteLine($" Bölüm Adı: {grup.bolumler.Ad}"); foreach (var doktor in grup.doktorlar) { Console.WriteLine($" DoktorId: {doktor.Id}, BolumId: {doktor.BolumId}, AdSoyad: {doktor.AdSoyad}"); } Console.WriteLine(""); } Console.ReadLine();
GroupJoin Örnek 1

Intersect Metodu
Intersect yöntemi, iki dizi (koleksiyon) arasındaki ortak öğeleri bulur. Bu yöntem, .NET'te listeler, diziler vb. gibi farklı koleksiyon türleri için kullanılabilir. İki veri kümesini karşılaştırmanız ve her iki kümede de bulunan öğeleri bulmanız gerektiğinde kullanışlıdır.İki sayı dizisinde ortak "kesişim" değerleri bulalım.
Intersect Örnek 1
List<int> arrDizi1 = new List() { 23, 27, 38, 41, 57, 65 }; List<int> arrDizi2 = new List () { 11, 38, 57, 65, 91, 100, 112, 208 }; List<int> arrKesisim = arrDizi1.Intersect(arrDizi2).ToList(); foreach (var item in arrKesisim) { Console.WriteLine($" İki dizide ortak olan değer: {item}"); } Console.ReadLine();
Intersect Örnek 1
