2018-08-02 22:04:49 +03:00
< html > < head > < object type = "application/x-oleobject" classid = "clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" >
< param name = "Keyword" value = "Join" >
< / object > < meta http-equiv = "Content-Type" content = "text/html; charset=windows-1251" > < title > < / title > < link rel = "StyleSheet" href = "../../../default.css" > < / head >
< body >
2025-11-07 16:12:31 +03:00
< H1 > Методы Join< / H1 > < h2 > Описание методов< / h2 > < p > Методы приведены для последовательности < code > < b > sequence of< / b > T< / code > .< / p > < table >
2018-08-02 22:04:49 +03:00
< tr > < td >
< code > < b > function < / b > Join< TInner,Key,Res> (inner: < b > sequence of< / b > TInner; outerKeySelector: T-> Key; innerKeySelector: TInner-> TKey; resultSelector: (T,TInner)-> Res): < b > sequence of< / b > Res;< / code >
2025-11-07 16:12:31 +03:00
< br > Объединяет две последовательности на основе сопоставления ключей в третью последовательность. Функция resultSelector задаёт проекцию элементов двух последовательностей с одинаковыми значениями ключа в элемент третьей последовательности.
2018-08-02 22:04:49 +03:00
< / td > < / tr >
< tr > < td >
< code > < b > function < / b > Join< TInner,Key,Res> (inner: < b > sequence of< / b > TInner; outerKeySelector: T-> Key; innerKeySelector: TInner-> TKey; resultSelector: (T,TInner)-> Res; comparer: System.Collections.Generic.IEqualityComparer< Key> ): < b > sequence of< / b > Res;< / code >
2025-11-07 16:12:31 +03:00
< br > Объединяет две последовательности на основе сопоставления ключей в третью последовательность. Функция resultSelector задаёт проекцию элементов двух последовательностей с одинаковыми значениями ключа в элемент третьей последовательности. Для сравнения ключей используется компаратор comparer.
2018-08-02 22:04:49 +03:00
< / td > < / tr >
< / table >
2025-11-07 16:12:31 +03:00
< 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 >
2018-08-02 22:04:49 +03:00
people.Join(subjects,p-> p[0],s-> s[0],(p,s)-> (p[1],s[1])).Println(NewLine);< br >
2025-11-07 16:12:31 +03:00
< strong > end< / strong > .< br > < br > Вывод:< br > (Иванов,История)< br >
(Иванов,Математика)< br > (Иванов,Русский)< br > (Попов,История)< br > (Попов,Физика)< br >
(Сидоров,Математика)< / code > < / blockquote >
2018-08-02 22:04:49 +03:00
< / body >