Aracılığıyla paylaş


WHERE yan tümcesi (C# Reference)

where Yan tümcesinde sorgu ifadesinde hangi öğeleri veri kaynağından döndürülen belirtmek için bir sorgu ifadesinde kullanılır.Boole koşul geçerlidir (yüklemi) (aralık değişkeni tarafından başvurulan) her bir kaynak öğesi için olanlar için belirtilen koşul doğruysa verir.Birden çok tek sorgu ifadesi içerebilir where yan tümcelerini ve tek bir yan tümce birden fazla doðrulama taşıyıcının içerebilir.

Örnek

Aşağıdaki örnekte, where yan tümcesi filtreleri, beşten az olanlar dışındaki tüm sayılar dışında.Siz kaldırırsanız, where yan tümcesi, veri kaynağındaki tüm numaraları döndürülmesi.İfade num < 5 her öğeye uygulanan yüklemi olur.

class WhereSample
{
    static void Main()
    {   
        // Simple data source. Arrays support IEnumerable<T>.
        int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

        // Simple query with one predicate in where clause.
        var queryLowNums =
            from num in numbers
            where num < 5
            select num;

        // Execute the query.
        foreach (var s in queryLowNums)
        {
            Console.Write(s.ToString() + " ");
        }
    }
}
//Output: 4 1 3 2 0

İçinde tek bir where yan tümcesi, çok yüklemler gerektiği gibi kullanarak belirtebilirsiniz & & ve | operators.Aşağıdaki örnekte, sorgu yalnızca beşten az olan çift numaralarını seçmek için iki koşul belirtir.

class WhereSample2
{
    static void Main()
    {   
        // Data source.
        int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

        // Create the query with two predicates in where clause.
        var queryLowNums2 =
            from num in numbers
            where num < 5 && num % 2 == 0
            select num;

        // Execute the query
        foreach (var s in queryLowNums2)
        {
            Console.Write(s.ToString() + " ");
        }            
    }
}
// Output: 4 2 0

A where yan tümcesi, Boole değerleri döndüren bir veya daha fazla yöntemler içerebilir.Aşağıdaki örnekte, where yan tümcesi, çift veya tek geçerli değer aralığı değişkenin olup olmadığını belirlemek için bir yöntem kullanır.

class WhereSample3
{       
    static void Main()
    {
        // Data source
        int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

        // Create the query with a method call in the where clause.
        // Note: This won't work in LINQ to SQL unless you have a
        // stored procedure that is mapped to a method by this name.
        var queryEvenNums =
            from num in numbers
            where IsEven(num)
            select num;

         // Execute the query.
        foreach (var s in queryEvenNums)
        {
            Console.Write(s.ToString() + " ");
        }
    }

    // Method may be instance method or static method.
    static bool IsEven(int i)
    {
        return i % 2 == 0;
    }    
}
//Output: 4 8 6 2 0

Notlar

where Yan tümcesinin bir filtreleme mekanizması.İlk veya son tümcesi olamaz dışında bir sorgu ifadesinde neredeyse herhangi bir yere yerleştirilebilir.A where yan tümcesi önce veya sonra görünebilir bir Grup kaynak öğelerden önce veya sonra gruplandırılmış filtre olmasına bağlı yan tümcesi.

Belirtilen bir koşul veri kaynağındaki öğeler için geçerli değilse, bir derleme zamanı hatası neden olur.Bu güçlü tür tarafından sağlanan denetim bir yararı, LINQ.

Derleme zamanında where anahtar sözcüğünü bir çağrıya dönüştürülür Where standart sorgu işlecini yöntemi.

Ayrıca bkz.

Başvuru

from yan tümcesi (C# Reference)

yan tümcesi (C# Reference) seçin

Kavramlar

Verilere filtre uygulama

LINQ sorgu ifadelerini (C# Programlama Kılavuzu)

Diğer Kaynaklar

Sorgu anahtar sözcükler (C# Reference)

C# [NULL]'taki LINQ ile çalışmaya başlama