• C#


    代码:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace 委托_例子
     8 {
     9     static class Program
    10     {
    11         // 定义委托(Double类型)
    12         delegate double Integand(double x);
    13 
    14         //定义方法
    15         static double Method1(double x)
    16         {
    17             return 2 * x + 1;
    18         }
    19 
    20         static double Method2(double x)
    21         {
    22             return x * x;
    23         }
    24 
    25         // 定义是用委托的方法
    26         static double DefiniteIntegrate(Integand f, double a, double b)
    27         {
    28             const int sect = 1000;
    29 
    30             double area = 0;
    31 
    32             double delta = (b - a) / sect;
    33 
    34             for (int i = 0; i < sect; i++)
    35             {
    36                 //此处的 f 就代表 Method1 或是 Method2。
    37                 //传给他们一个double类型的值,返回一个double类型的值。
    38                 //此时的double值就是长乘以宽“a + i * delta”
    39                 area += delta * f(a + i * delta);
    40             }
    41 
    42             return area;
    43         }
    44 
    45         //利用【匿名方法】,可以直接把代码块定义为委托,而不需要事先定义方法。
    46         //不光可以使用代码块定义变量,而且可以使用代码块外面的变量,即主方法中的变量。
    47         static void Main(string[] args)
    48         {
    49             int a = 1;
    50 
    51             int b = 5;
    52 
    53             Integand i = delegate(double x)
    54             {
    55                 return a * x + b;
    56             };  //添加分号
    57 
    58             double result = DefiniteIntegrate(i, a, b);
    59 
    60             Console.WriteLine("result:{0}", result);
    61 
    62             Console.ReadKey();
    63         }
    64     }
    65 }
  • 相关阅读:
    《最后期限》阅读笔记03
    《最后期限》阅读笔记02
    《最后期限》阅读笔记01
    返回一个二维整数数组中最大联通子数组的和
    软件工程团队开发——第一次冲刺会议总结
    结对项目开发电梯调度
    软件工程课程建议
    第二次冲刺07
    第二次冲刺06
    第二次冲刺05
  • 原文地址:https://www.cnblogs.com/KTblog/p/4525962.html
Copyright © 2020-2023  润新知