static void TestZipLong() { var procsManager = new ProcessManager(); var interfaceManger = new InterfaceManager("mscorlib"); var zipLongRresult = procsManager.ZipLong(interfaceManger, (p, i) => { if (p.IsDefault()) return string.Format("Interface: {0}", i.Name); return i.IsDefault() ? string.Format("Process: {0}", p.ProcessName) : string.Format("Interface: {0}. Process: {1}",i.Name, p.ProcessName); }); foreach (var zip in zipLongRresult) { Console.WriteLine(zip); } }