C# 委托最基本的例子

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LambadDemo
{
    class Program
    {
        //enum 返回值 { 
        //Max,
        //Min,
        //}
        返回一个最大值的方法
        //static int Max(List<int>nums,返回值 retType) {
        //    int Max = nums[0];
        //    foreach (var num in nums)
        //    {
        //        switch (retType)
        //        {
        //            case 返回值.Max:
        //                if (num > Max)
        //                {
        //                    Max = num;
        //                }
        //                break;
        //            case 返回值.Min:
        //                if (num < Max)
        //                {
        //                    Max = num;
        //                }
        //                break;
        //            default:
        //                break;
        //        }
        //    }
        //    return Max;
        //}


        //遍历List,取出大于10的值  Traverse 遍历的意思
        //static bool function(int num) {
        //    return num >= 10;
        //}

        //delegate 委托 代理
        delegate bool Function(int num);
       static Function GreaterThan10 = delegate(int num) { return num >= 10; };
       static Function ISEven = delegate(int num) { return num % 2 == 0; };

      static List<int> Traverse(List<int>nums,Function function){
          var list = new List<int>();
          foreach (var num in nums)
          {
              if (function(num))//num%2==0;num>=10
              {
                  list.Add(num);
              }
          }
          return list;
      }
        static void Main(string[] args)
        {
            //var list = Traverse(new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, n => n % 2==0);

            //foreach (var n in list)
            //{
            //    Console.WriteLine("数组中的偶数{0}:",n);
            //}
           //Console.WriteLine("大于等于10的数值有{0}",list);

            //Console.WriteLine("返回大于10的数值是:{0}",Traverse(new List<int>() {1,2,3,4,5,6,899,100 }));

            //Console.WriteLine(Traverse(new List<int>() {100,200}));

            var list = new List<int>() { -1,-2,-3,-4,-5,-6,- 7,8,9,10};
           // list.Sum(n => { if (n <= 0) { return 0;}else{ return n;}});
           // Console.WriteLine(list.Sum(n => { if (n <= 0) { return 0;}else{ return n;}}));
            //list.ForEach(i => Console.WriteLine(i));
            //foreach (var i in list)
            //{
            //    Console.WriteLine(i);
             //}
           var list2=list.FindAll(n=>n<0);
           foreach (var list3 in list2)
           {
               Console.WriteLine(list2);
           }
            Console.WriteLine("");

            
            Console.ReadLine();
        }
    }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值