码迷,mamicode.com
首页 > 编程语言 > 详细

IEnumerable 遍历用法

时间:2014-11-04 17:07:16      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   ar   使用   for   sp   div   on   

咋一看到IEnumerable这个接口,我们可能会觉得很神奇,在一般的编程时,基本上我们是想不到去用它的,可是,俗话说得好,存在便是道理,那么,它对我们来说,能够带来哪些奇妙的事情呢?
要想弄懂它,我们还是看看其定义吧!
在MSDN上,是这么说的,它是一个公开枚举数,该枚举数支持在非泛型集合上进行简单的迭代。换句话说,对于所有数组的遍历,都来自IEnumerable,那么我们就可以利用这个特性,来定义一个能够遍历数组的通用方法,这样看来,是不是很神奇呢?
例如:
   
     public static void Print(IEnumerable myList)
        {
            int i = 0;
            foreach (Object obj in myList)
            {
                if (obj is Student)//这个是类型的判断,这里Student是一个类或结构
                {
                    Student s=(Student)obj;
                    Console.WriteLine("\t[{0}]:\t{1}", i++, s.Sname);
                }
                if (obj is int)
                {
                    Console.WriteLine("INT:{0}",obj);
                }
            }
            Console.WriteLine();
        }

 

上面,我们可以在foreach中进行多个if判断,来进行相应的操作。
IEnumerable 的另一个用法是在泛型中的使用。其中用lamda表达式在数组中查询,具体例子如下:
        
List<string> fruits = new List<string> { "apple", "orange", "banana" };
            //去遍历
            IEnumerable<string> query = fruits.Where(fruit => fruit.Length == 6);
            foreach (var q in query)
            {
                Console.WriteLine(q);
            }
       Console.ReadLine();

 

IEnumerable 遍历用法

标签:style   blog   color   ar   使用   for   sp   div   on   

原文地址:http://www.cnblogs.com/zhayunjia/p/4073911.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!