Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Jak zwraca elementy, kiedy wynik jest sekwencj (SelectMany) 71<br />
Console.WriteLine();<br />
Console.WriteLine("opcja 2:"); Console.WriteLine("------");<br />
// opcja 2: SelectMany zwraca dziewi cigów<br />
// (iteruje przez wynik Select)<br />
IEnumerable words2 =<br />
sentence.SelectMany(segment => segment.Split(' '));<br />
// za pomoc SelectMany mamy dostp do kadego cigu osobno<br />
foreach (var word in words2)<br />
Console.WriteLine(word);<br />
// opcja 3: identyczna jak opcja 2 powyej napisana za pomoc<br />
// skadni wyrae zapyta (kilka instrukcji from)<br />
IEnumerable words3 =<br />
from segment in sentence<br />
from word in segment.Split(' ')<br />
select word;<br />
Wyjcie 3.5.<br />
opcja 1:<br />
------<br />
Pewien<br />
szybki<br />
brzowy<br />
lis<br />
przeskakuje<br />
nad<br />
bardzo<br />
leniwym<br />
psem.<br />
opcja 2:<br />
------<br />
Pewien<br />
szybki<br />
brzowy<br />
lis<br />
przeskakuje<br />
nad<br />
bardzo<br />
leniwym<br />
psem.<br />
W jaki sposób działa me<strong>to</strong>da rozszerzenia SelectMany? Tworzy zagnieżdżoną pętlę<br />
foreach dla pierwotnego wyniku, zwracając każdy podelement za pomocą instrukcji<br />
yield return. Kod zbliżony do kodu SelectMany ma następującą postać: