• 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         static void Main(string[] args)
    46         {
    47             //调用方法
    48             //传入一个方法
    49             Console.WriteLine(Program.DefiniteIntegrate(Method1, 1, 5));
    50             Console.WriteLine();
    51             Console.WriteLine(Program.DefiniteIntegrate(Method2, 0, 1));
    52 
    53             Console.ReadKey();
    54         }
    55     }
    56 }
    57                     
  • 相关阅读:
    归并排序
    数据组合求值
    轨道周期
    类及对象构建
    日期改写
    排列组合去重
    库存更新
    Java性能测试从入门到放弃-详解篇
    Java性能测试从入门到放弃-概述篇
    cocos2d-x安装教程
  • 原文地址:https://www.cnblogs.com/KTblog/p/4525930.html
Copyright © 2020-2023  润新知