C# Where Kullanımı

"Where" metodu C#'da LINQ (Language Integrated Query) kütüphanesinin bir parçasıdır ve IEnumerable arabirimini (interface) uygulayan herhangi bir nesnenin üzerinde çağrılabilecek bir genişletme metodudur. Bu metod, veri kümesinde belirli bir kriterin karşılanması durumunda sadece o elemanları döndürür. "Where" metodu, veri kümesinde filtreleme işlemleri gerçekleştirmek için kullanılır.

"Where" metodu, bir lambda ifadesi alır. Bu lambda ifadesi, her eleman için true veya false değerini döndürür. Eğer lambda ifadesi true değerini döndürürse, o eleman döndürülür, aksi halde eleman döndürülmez.

Aşağıda "Where" metodunun kullanımı için çeşitli örnekler verilmektedir:

1 - Bir dizideki sayıları filtrelemek: Aşağıdaki kod parçacığı bir dizideki sayıları filtreler ve sadece çift sayıları döndürür:

int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var evenNumbers = numbers.Where(n => n % 2 == 0);

2 - Bir sözlükteki kayıtları filtrelemek: Aşağıdaki kod parçacığı bir sözlükteki kayıtları filtreler ve sadece 25 yaşından büyük olanları döndürür:

Dictionary ages = new Dictionary()
{
    {"John", 22},
    {"Jane", 25},
    {"James", 30},
    {"Jessica", 35}
};
var olderthan25 = ages.Where(a => a.Value > 25);

3 - Bir liste içinde kelime aramak: Aşağıdaki kod parçacığı bir liste içinde "apple" kelimesini arar ve eğer aradığınız kelime varsa döndürür:

List fruits = new List { "apple", "banana", "cherry", "date", "elderberry" };
var searchResult = fruits.Where(f => f == "apple");

4 - Bir dizideki nesnelerin özelliklerini filtrelemek : Aşağıdaki kod parçacığı bir dizideki nesnelerin özelliklerini filtreler ve sadece belirli bir değere sahip olanları döndürür. Örneğin, kullanıcıların yaşını filtrelemek için:

List users = new List {
new User { Name = "John", Age = 22 },
new User { Name = "Jane", Age = 25 },
new User { Name = "James", Age = 30 },
new User { Name = "Jessica", Age = 35 }
};
var olderThan25 = users.Where(u => u.Age > 25);

5 - Bir sorgu sonucunu filtrelemek: Aşağıdaki kod parçacığı bir sorgu sonucunu filtreler ve sadece "d" ile başlayan kelimeleri döndürür:

string[] words = { "apple", "banana", "cherry", "date", "elderberry" };
var filteredWords = from w in words where w.StartsWith("d") select w;

"Where" metodu, veri kümelerinde filtreleme işlemleri gerçekleştirmek için çok yararlı bir araçtır. Bu metod, lambda ifadelerini kullanarak elemanların özelliklerine göre filtreleme işlemleri gerçekleştirmek için kullanılabilir. Ayrıca, "Where" metodu sorguların sonuçlarını da filtrelemek için kullanılabilir. Bu metod, sorgu sonuçlarını daha sonra kullanmak için daha uygun hale getirir.



İlginizi Çekebilir

C# 1'den 100'e Kadar Asal Sayı Toplam Örneği

C# String Harf Olmayan Karakterlerin Silinmesi

C# Linq FirstOrDefault Kullanımı

C# 1 İle 100 Arasında 3'e Bölünebilenleri Bulma Örneği

C# Bir Sayının 5'in Katı Olup Olmadığını Gösteren Örnek