Linq Except Kullanımı
LINQ(Language Integrated Query) .NET dillerine SQL benzeri sorgulama becerisi ekleyen bir Microsoft .NET Framework bileşenidir. .Net projelerinde SQL sorgularını basitçe yazmaya yarar. Bu yazıda Except() metodundan bahsedeceğim.
Linq ile çalışırken iki farklı dizi içerisinde birinci dizide bulunup ikinci dizide bulunmayan farklı değerleri Except metoduyla bulmak mümkündür.
Bu örnek de birinci dizide olup ikinci dizide olmayan değerler ekrana yazılmıştır.
double[] numbers1 = { 2.0, 2.0, 2.1, 2.2, 2.3, 2.3, 2.4, 2.5 };
double[] numbers2 = { 2.2 };
IEnumerable<double> onlyInFirstSet = numbers1.Except(numbers2);
foreach (double number in onlyInFirstSet)
Console.WriteLine(number);
/*
Ekran çıktısı:
2
2.1
2.3
2.4
2.5
*/
Başka bir örnek olarak aşağıdaki kodları inceleyebilirsiniz:
ProductA[] fruits1 = { new ProductA { Name = "apple", Code = 9 },
new ProductA { Name = "orange", Code = 4 },
new ProductA { Name = "lemon", Code = 12 }
};
ProductA[] fruits2 = { new ProductA { Name = "apple", Code = 9 } };
// İlk dizideki tüm elemanlar ikinci dizidekiler hariç alınıyor.
IEnumerable<ProductA> except = fruits1.Except(fruits2);
foreach (var product in except)
Console.WriteLine(product.Name + " " + product.Code);
/*
Ekran çıktısı:
orange 4
lemon 12
*/
Kaynak: https://docs.microsoft.com/tr-tr/dotnet/api/system.linq.enumerable.except?view=netcore-3.1
Kodlamaya devam!