using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Linq; //csc CollecT_Intersect1.cs namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Collection cTList = new Collection(); cTList.Add("AD"); cTList.Add("B"); cTList.Add("AB"); cTList.Add("C"); cTList.Add("D"); cTList.Add("AD"); cTList.Add("E"); cTList.Add("AD"); Collection cTList2 = new Collection(); cTList2.Add("AB"); cTList2.Add("C"); Console.WriteLine("Reading List"); readT(cTList); var query1 = cTList2.Intersect(cTList); Console.WriteLine("Interrsect "); foreach(var v1 in query1) { Console.WriteLine(v1); } Console.ReadLine(); } static void readT(IList list) { //notice that the list is passed an IList and hence can handle both types of lists //Use IEnumerable int n1 = 0; foreach (string val in list) { Console.WriteLine(val + " @\t " + n1 + " "); n1++; } } } }