Queryable.SelectMany () yöntemi için bir C # LINQ sözdizimi var mı?


88

C # LINQ sözdizimini kullanarak bir sorgu yazarken, anahtar kelime sözdiziminden Queryable.SelectMany yöntemini kullanmanın bir yolu var mı?

İçin

string[] text = { "Albert was here", 
                  "Burke slept late", 
                  "Connor is happy" };

Akıcı yöntemler kullanarak sorgulayabilirim

var tokens = text.SelectMany(s => s.Split(' '));

Benzer bir sorgu sözdizimi var mı

var tokens = from x in text selectmany s.Split(' ')

örneğin biraz iyileştirmeye ihtiyacı var ... ama temel noktayı aldığından şüpheleniyorum. Daha iyi örnekler önermekten çekinmeyin.
BrianCooksey

Yanıtlar:


126

Evet, sadece from ... in maddesini tekrarlıyorsunuz:

var words = from str in text
            from word in str.Split(' ')
            select word;

4
@BCooksey - Evet ... çünkü ilk sonucun içine yerleştirilmiş bir koleksiyondan seçim yapıyorsunuz.
Justin Niessner

3
Tüm bu çağrılara son derece esnek olan SelectMany tarafından hizmet verilebilir, ancak derleyici, sorgunun biçimine bağlı olarak Select, SelectMany ve hatta hiç dönüştürme arasında seçim yapacaktır
Sprague


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.