Scalar

态度决定一切,正能量走起!

导航

Lambda使用

1、在一个姓名集合中找出姓为“田”的姓名。

View Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LamdbaDemo2
{
    class Program
    {
        static void Main(string[] args)
        {
            Lamdba lam = new Lamdba();
            Console.WriteLine("***************用C#1.0查找姓为'田'的集合***************");
            List<string> list1 = lam.FindAll_C1();
            foreach (string item in list1)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("***************用C#2.0查找姓为'田'的集合***************");
            List<string> list2 = lam.FindAll_C1();
            foreach (string item in list2)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("***************用C#3.0查找姓为'田'的集合***************");
            List<string> list3 = lam.FindAll_C1();
            foreach (string item in list3)
            {
                Console.WriteLine(item);
            }

        }
    }

    class Lamdba
    { 
        
        /// <summary>
        /// 集合
        /// </summary>
        private List<string> list = new List<string>();

        /// <summary>
        /// 构造函数,初始化集合
        /// </summary>
        public Lamdba()
        {
            list.Add("范存");
            list.Add("刘起涵");
            list.Add("张晓轩");
            list.Add("田圣彤");
            list.Add("文筠彤");
            list.Add("刘起涵");
            list.Add("田优乔");
            list.Add("文嘉珊");
            list.Add("范成龙");
            list.Add("温立春");
            list.Add("田忌");
        }
        
        /// <summary>
        /// C#1.0用法
        /// </summary>
        /// <returns></returns>
        public List<string> FindAll_C1()
        {
            return list.FindAll(IsMatch);
        }

        bool IsMatch(string s)
        {            
            return s.IndexOf("") == 0;
        }

        /// <summary>
        /// C#2.0用法
        /// </summary>
        /// <returns></returns>
        public List<string> FindAll_C2()
        {
            return list.FindAll(delegate(string s){return s.IndexOf("") == 0;});
        }

        /// <summary>
        /// C#3.0用法
        /// </summary>
        /// <returns></returns>
        public List<string> FindAll_C3()
        {
            return list.FindAll(s=>s.IndexOf("") == 0);
        }
    }
}

运行结果如下:

posted on 2012-06-04 23:31  Scalar  阅读(174)  评论(0)    收藏  举报