Bu yazı, LINQ Dil Entegre Sorgulama sorguları ile Distinct ve Union işlemlerinin nasıl yapılacağını açıklamaktadır Distinct, bir koleksiyonda bulunan benzersiz öğeleri seçerken, Union ise iki koleksiyonu birleştirerek yalnızca benzersiz öğeleri döndürür Bu işlemler, birçok koleksiyon işleminde oldukça yararlıdır ve LINQ kullanılarak kolayca gerçekleştirilebilir Bu yazıda, Distinct ve Union metodlarını kullanarak benzersiz öğelerin nasıl seçileceğine dair örnekler verilmiştir

Bu yazı LINQ (Dil Entegre Sorgulama) sorguları kullanarak farklı iki işlem olan Distinct ve Union işlemlerinin nasıl yapılacağını açıklamaktadır. LINQ, .NET Framework ve .NET Core'da kullanılan bir teknolojidir. LINQ kullanarak bir sorguyu sadece bir sefer yazarak birden fazla veri kaynağı üzerinde çalışabileceğiniz bir sorgu dilidir. Distinct ve Union metotları, LINQ sorguları için oldukça yararlıdır.
Distinct metodu, bir koleksiyonda bulunan benzersiz öğeleri (yinelenen öğeleri hariç tutarak) seçer ve geri döndürür. Union metodu ise iki koleksiyonu birleştirir ve yalnızca benzersiz değerleri döndürür. Bu metotlar, koleksiyonlardan benzersiz öğelerin seçiminde oldukça kullanışlıdır.
Bu yazıda, LINQ sorguları kullanarak Distinct ve Union işlemleri hakkında örnekler verilecek ve bu metotların nasıl kullanılacağı detaylı bir şekilde anlatılacaktır.
Distinct Metodu
Distinct metodu, LINQ sorgularında sıkça kullanılan bir yöntemdir. Bu metot, bir koleksiyonda bulunan benzersiz öğeleri seçerek yinelenen öğeleri hariç tutar ve geri döndürür. Koleksiyonda yer alan her bir öğe birbirinden farklı ise Distinct metodu o öğeyi seçer ve geri döndürür.
Distinct metodu, birden fazla koleksiyonda da kullanılabilir. Bu sayede, her iki koleksiyonda da bulunan benzersiz öğeler tek bir sonuç koleksiyonunda toplanabilir. Distinct metodu, Eşleşme Modu seçeneğiyle de kullanılabilir. Bu sayede, öğelerin eşleşme biçimini seçmek mümkün hale gelir. Örneğin, büyük-küçük harf duyarlılığı olmadan eşleştirme yapmak isteyenler bu seçeneği kullanarak bu işlemi gerçekleştirebilirler.
Union Metodu
LINQ kullanarak iki koleksiyonun bir araya getirilip benzersiz öğelerin geri döndürülmesi için Union metodu kullanılır.
Union metodu, iki koleksiyonu birleştirir ve yalnızca benzersiz öğeleri döndürür. Bu metot, birden fazla listeyi tek bir yeni liste halinde birleştirir. Eğer her iki koleksiyonda da aynı elemanlar varsa, yalnızca bir kez görüntülenirler. Toplamda, döndürülen koleksiyon, iki orijinal koleksiyonun birleştirildiği yeni bir koleksiyondur.
Aşağıdaki örnek, iki koleksiyonun birleştirilmesini gösterir:
```int[] collectionA = { 1, 2, 3 };int[] collectionB = { 3, 4, 5 };var combined = collectionA.Union(collectionB); // 1,2,3,4,5```Yukarıdaki örnekte, koleksiyon A [1, 2, 3] ve koleksiyon B [3, 4, 5] iki koleksiyon birleştirilerek benzersiz elemanlar olan 1, 2, 3, 4 ve 5 döndürür.
Union metodu, öğelerin bir sırası olduğunu kabul eder ve benzersiz olanları bir seferde ekler. Union sorgusu birden fazla koleksiyonu birleştirir ve öğelerin sırasını garanti etmez.
Ayrıca, Union metodu IEqualityComparer
Yukarıdaki örnekte gösterildiği gibi, Union metodu, iki koleksiyonu birleştirir ve yalnızca benzersiz öğeleri döndürür.
Distinct ve Union Metodlarının Kullanımı
Bu bölümde, LINQ Distinct ve Union metodlarının nasıl kullanılabileceğine dair örnekler sunulacaktır. Öncelikle Distinct metodunu kullanarak benzersiz bir liste oluşturabiliriz. Bir dizi içindeki yinelenen öğeleri hariç tutmak için Distinct metodunu kullanabilirsiniz. Örneğin:
int[] sayilar = new int[] {2, 3, 5, 7, 2, 7, 9, 3};var benzersizSayilar = sayilar.Distinct();
Bu sorgu, sayılar dizisindeki yinelenen öğelerden kurtulur ve sonucunda benzersiz sayıların bir listesini elde eder.
Union metodu ise iki ayrı koleksiyonu birleştirerek benzersiz elemanları döndürür. Örneğin, iki farklı dizi içindeki benzersiz elemanları birleştirmek istediğinizde Union metodunu kullanabilirsiniz. Aşağıdaki örnek, iki farklı koleksiyonu birleştirerek benzersiz elemanları döndürür:
int[] dizi1 = new int[] {2, 4, 6, 8};int[] dizi2 = new int[] {1, 3, 5, 7, 9};var birlesikDizi = dizi1.Union(dizi2);
Bu sorgu, dizi1 ve dizi2 nin birleştirilmesi sonucunda benzersiz elemanlarının bir listesini elde eder.
Bu örnekler, LINQ Distinct ve Union metodlarının temellerini anlamak için iyi bir başlangıçtır. Bu metodlar, koleksiyon işlemlerinde oldukça kullanışlıdır.
Distinct Metodu Örneği
Bir dizi içindeki benzersiz sayıları seçmek için Distinct metodu kullanılabilir. Aşağıdaki örnekte, bir dizi içindeki benzersiz elemanların nasıl seçileceği açıklanacaktır.
Öncelikle, bir tamsayı dizisi tanımlayalım:
int[] numbers = { 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 };
Bu dizi içindeki benzersiz sayıları seçmek için Distinct metodu kullanabiliriz:
var distinctNumbers = numbers.Distinct();
Yukarıdaki kod, dizideki benzersiz sayıları seçer ve yeni bir koleksiyon olarak geri döndürür. Eğer bu yeni koleksiyonu kullanarak sayıların yazdırılmasını istiyorsak:
foreach (var num in distinctNumbers){ Console.WriteLine(num);}
Yukarıdaki kod, benzersiz sayıları ekrana bastırır. Sonuçlar şöyle olacaktır:
1234
Yukarıdaki örnek, Distinct metodu kullanarak bir dizideki benzersiz sayıları seçme işlemini göstermektedir.
Union Metodu Örneği
Bu örnekte, LINQ sorgularını kullanarak iki farklı dizi içinde yer alan benzersiz elemanların birleştirilmesi gösterilecektir. İlk adım olarak, iki farklı dizi oluşturulur:
Dizi 1 | Dizi 2 |
---|---|
1 | 4 |
2 | 5 |
3 | 6 |
Sonra, Union metodu kullanılarak bu iki dizinin elemanları birleştirilir ve yalnızca benzersiz olanlar geri döndürülür:
- 1
- 2
- 3
- 4
- 5
- 6
Bu örnekte, Union metodu sayesinde iki farklı dizi içinde yer alan benzersiz elemanlar tek bir dizi içinde birleştirilmiştir. LINQ sorguları, farklı koleksiyonlar arasında işlemler yapmamızı sağlayan çok kullanışlı bir araçtır.
Özet
Bu yazıda Distinct ve Union metodlarının ne işe yaradığını ve kullanılışlarını öğrendiniz. LINQ metotları ile bir koleksiyonda bulunan benzersiz verileri seçmek ya da iki farklı koleksiyonu birleştirerek yalnızca benzersiz değerleri döndürmek oldukça kolaydır.
Distinct metodu yalnızca bir kez yer alan öğeleri geri döndürürken Union metodu iki koleksiyonu birleştirerek yalnızca benzersiz elemanları döndürür. Bu iki metot, veri analizi ve birleştirme işlemleri sırasında oldukça kullanışlıdır. Ayrıca Distinct metodu, bir listeyi ya da diziyi tekilleştirerek yinelenen öğeleri çıkarmak için de kullanılabilir.
Daha önce bahsedildiği gibi, Distinct ve Union işlemleri sırasında belirli koşullar da belirleyebilirsiniz. Örneğin, bir koleksiyonda yalnızca öğelerin belirli bir sayı aralığında olmasını isteyebilirsiniz. Bu koşullar, LINQ sorgularının yazılması sırasında belirlenebilir.
Yukarıda verilen örnekler ile birlikte, LINQ ile Distinct ve Union işlemlerini kullanarak veri analizi yapmak ve farklı koleksiyonları birleştirmek oldukça kolaydır. Bu metotlar, programlama işlerinde sıklıkla kullanılır ve size hem zaman hem de emek tasarrufu sağlar.