マイクロソフトのリファレンスを見ながらコードを読んでいたのですがdata.Zip(data.Skip(1),(i,j) => j - i);の[(i,j) => j - i]の動作はメソッド内部でどのような処理がなされているのか知りたいです。リファレンスを見てもはっきりしないのでご教授お願いします。
※ラムダ式であることは理解してます。
.zip() https://docs.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.zip?view=netframework-4.7.2

class Program 
    {              
        static void Main(string[] args)
        {
            var data = Enumerable.Range(0,10);
            foreach(var t in data)
            {
                Console.WriteLine(t);
            }
            Console.WriteLine();
            var data2 = data.Zip(data.Skip(1),(i,j) => j - i);
            foreach(var i in data2)
            {
                Console.WriteLine(i);
            }


            Console.ReadKey();
        }
    }