Aracılığıyla paylaş


Foreach döngüsünü LINQ'ya dönüştürme

Bu yeniden düzenleme şunlar için geçerlidir:

  • C# (programlama dili)

Ne: IEnumerable kullanan foreach döngünüzü LINQ sorgusuna veya LINQ çağrı formuna (LINQ yöntemi olarak da bilinir) kolayca dönüştürmenizi sağlar.

Ne zaman: IEnumerable kullanan bir foreach döngünüz var ve bu döngünün LINQ sorgusu olarak okunmasını istiyorsunuz.

Neden: Döngü yerine foreach LINQ söz dizimini kullanmayı tercih edersiniz. LINQ , C# dilinde birinci sınıf bir dil yapısına sorgu yapar. LINQ bir dosyadaki kod miktarını azaltabilir, kodun daha kolay okunmasını sağlayabilir ve farklı veri kaynaklarının benzer sorgu ifadesi desenlerine sahip olmasına izin verebilir.

Uyarı

LINQ söz dizimi genellikle bir foreach döngüsünden daha az verimlidir. Kodunuzun okunabilirliğini geliştirmek için LINQ kullandığınızda oluşabilecek herhangi bir performans dengesinin farkında olmak iyi olur.

Foreach döngüsünü LINQ yeniden düzenlemesine dönüştürme

  1. İmlecinizi anahtar kelimenin içine foreach getirin.

    Foreach using IEnumerable sample

  2. Ctrl+ tuşuna basın. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için.

    LINQ menü örneğine dönüştürme

  3. LINQ'ya Dönüştür veya Linq'e Dönüştür (çağrı formu) öğesini seçin.

    LINQ sorgu sonucu örneği

    LINQ çağrı formu sonucu örneği

Örnek kod

using System.Collections.Generic;

public class Class1
{
    public void MyMethod()
    {
        var greetings = new List<string>()
            { "hi", "yo", "hello", "howdy" };

        IEnumerable<string> enumerable()
        {
            foreach (var greet in greetings)
            {
                if (greet.Length < 3)
                {
                    yield return greet;
                }
            }

            yield break;
        }
    }
}

Ayrıca bkz.