//// Summary:// Merges two sequences by using the specified predicate function.//// Parameters:// first:// The first sequence to merge.//// second:// The second sequence to merge.//// resultSelector:// A function that specifies how to merge the elements from the two sequences.//// Type parameters:// TFirst:// The type of the elements of the first input sequence.//// TSecond:// The type of the elements of the second input sequence.//// TResult:// The type of the elements of the result sequence.//// Returns:// An System.Collections.Generic.IEnumerable<T> that contains merged elements// of two input sequences.publicstatic IEnumerable<TResult> Zip<TFirst, TSecond, TResult>(this IEnumerable<TFirst> first, IEnumerable<TSecond> second, Func<TFirst, TSecond, TResult> resultSelector);