23 lines
2.2 KiB
HTML
23 lines
2.2 KiB
HTML
<html><head><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
|
<param name="Keyword" value="GroupJoin">
|
|
</object><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><title></title><link rel="StyleSheet" href="../../../default.css"></head>
|
|
<body>
|
|
<H1>Ìåòîä GroupJoin</H1><h2>Îïèñàíèå ìåòîäîâ</h2><p>Ìåòîäû ïðèâåäåíû äëÿ ïîñëåäîâàòåëüíîñòè <code><b>sequence of</b> T</code>.</p><table>
|
|
<tr><td>
|
|
<code><b>function </b>GroupJoin<TInner,Key,Res>(inner: <b>sequence of</b> TInner; outerKeySelector: T->Key; innerKeySelector: TInner->TKey; resultSelector: (T,<b>sequence of</b> TInner)->Res): <b>sequence of</b> Res;</code>
|
|
<br> Îáúåäèíÿåò äâå ïîñëåäîâàòåëüíîñòè íà îñíîâå ðàâåíñòâà êëþ÷åé è ãðóïïèðóåò ðåçóëüòàòû. Çàòåì ôóíêöèÿ resultSelector ïðîåêòèðóåò êëþ÷ è ïîñëåäîâàòåëüíîñòü ñîîòâåòñòâóþùèõ åìó çíà÷åíèé íà ýëåìåíò ðåçóëüòèðóþùåé ïîñëåäîâàòåëüíîñòè.
|
|
</td></tr>
|
|
<tr><td>
|
|
<code><b>function </b>GroupJoin<TInner,Key,Res>(inner: <b>sequence of</b> TInner; outerKeySelector: T->Key; innerKeySelector: TInner->TKey; resultSelector: (T,<b>sequence of</b> TInner)->Res; comparer: IEqualityComparer<Key>): <b>sequence of</b> Res;</code>
|
|
<br> Îáúåäèíÿåò äâå ïîñëåäîâàòåëüíîñòè íà îñíîâå ðàâåíñòâà êëþ÷åé è ãðóïïèðóåò ðåçóëüòàòû. Äëÿ ñðàâíåíèÿ êëþ÷åé èñïîëüçóåòñÿ óêàçàííûé êîìïàðàòîð. Çàòåì ôóíêöèÿ resultSelector ïðîåêòèðóåò êëþ÷ è ïîñëåäîâàòåëüíîñòü ñîîòâåòñòâóþùèõ åìó çíà÷åíèé íà ýëåìåíò ðåçóëüòèðóþùåé ïîñëåäîâàòåëüíîñòè.
|
|
</td></tr>
|
|
</table>
|
|
<h2>Ïðèìåð </h2><blockquote><code><strong>begin</strong><br> <strong>var</strong>
|
|
people := Arr((1,'Èâàíîâ'),(2,'Ïîïîâ'),(3,'Ñèäîðîâ'));<br> <strong>var</strong>
|
|
subjects := Arr((1,'Èñòîðèÿ'),(1,'Ìàòåìàòèêà'),(2,'Èñòîðèÿ')<br>
|
|
,(3,'Ìàòåìàòèêà'),(1,'Ðóññêèé'),(2,'Ôèçèêà'));<br><br>
|
|
people.GroupJoin(subjects,p->p[0],s->s[0],(p,ss)->(p[1],ss.Select(x->x[1]))).Println(NewLine);<br>
|
|
<strong>end</strong>.<br><br>Âûâîä:<br>(Èâàíîâ,[Èñòîðèÿ,Ìàòåìàòèêà,Ðóññêèé])<br>
|
|
(Ïîïîâ,[Èñòîðèÿ,Ôèçèêà])<br>(Ñèäîðîâ,[Ìàòåìàòèêà])</code></blockquote>
|
|
</body>
|