目前学到的转换小记
时间:2011-05-19 来源:winchou
list实现了IEnumerable泛型接口,所以list拥有Cast方法,然而转换给的时候如果类型不匹配就会转换失败
OfType方法会忽略掉不能转换的元素.
这让我想起了 is和as的区别 as转换失败会返回null 而is会报异常
  // ArrayList list = new ArrayList();
              // list.Add(1);
              // list.Add(10);
              // list.Add(100);
              // list.Add("1000");
              // //Cast<T>()会把序列中的所有元素都转换,如果类型不匹配,会转换失败
              // //报异常。
              // IEnumerable<int> IE = list.Cast<int>();
              // foreach (var item in IE)
              // {
              //     Console.WriteLine(item);
              // }
              // //因为只有IEnumerable<T>才有这些扩展方法可调用
              //// Console.WriteLine(IE.First());
  
              //OfType()
              ArrayList list = new ArrayList();
              list.Add(1);
              list.Add(10);
              list.Add(100);
              list.Add("1000");
                      //OfType<T>()会忽略不能转的。
              IEnumerable<int> IE = list.OfType<int>();
              foreach (var item in IE)
              {
                  Console.WriteLine(item);
              }
              Console.ReadKey();










