public void CustomNonGenericCollectionTest() { CustomCollection2 coll = new CustomCollection2(); // generic이 아닌 경우 from에 type을 명시해야 한다. // 여기서 int c. var query = from int c in coll where (c % 2) == 1 select c; int result = 1; foreach (int n in query) { Assert.Equal(result, n); result += 2; } }
public static void TestCC2() { Console.WriteLine("Test CC2"); CustomCollection2 cc = new CustomCollection2(); for (int i = 0; i < 4; i++) { cc.Add(i.ToString(), i); } for (int i = 0; i < 4; i++) { int o = cc[i.ToString()]; // use indexer -- way cool!! Console.WriteLine("index[{0}]: {1}", i, o); } foreach (var j in cc) { // use IEnumerable Console.WriteLine("j = {0}", j); } for (int i = 0; i < 4; i++) { // use getter int o = cc.Get(i.ToString()); Console.WriteLine("got: {0}", o); } cc.Clear(); }
//test return yield static void Main(string[] args) { //test return yield Console.WriteLine("Dowloading data"); IEnumerable <int> data = getData(); Console.WriteLine("Start processing"); foreach (int i in data) { Console.WriteLine("Value reading {0:}", i); if (i == 3) { break; } } Console.WriteLine("Completion of processing"); //test IEnumerator first IEnumerator numer = "testIEnumerator".GetEnumerator(); numer.MoveNext(); char a = (char)numer.Current; while (numer.MoveNext()) { Console.Write((char)numer.Current + "."); } //test IEnumerator second=>CustomCollection CustomCollection2 col = new CustomCollection2(); IEnumerator number = col.GetEnumerator(); Console.WriteLine(); while (number.MoveNext()) { Console.Write(number.Current + "."); } Console.ReadLine(); }