using System;using System.Collections;using System.Collections.Generic;namespace Delegate
{classProgram{//1.定义委托类型publicdelegateintSumDelegate(IEnumerable src);publicstaticintMeadia(SumDelegate sum){int[] src ={1,3,5};//4.委托调用returnsum(src);}staticvoidMain(string[] args){//2.创建委托实例SumDelegate sumDelegate =newSumDelegate(Demo.Sum);//3.将委托作为参数传递int s =Meadia(sumDelegate);
Console.WriteLine($"S = {s}");}}classDemo{publicstaticintSum(IEnumerable src){int s =0;foreach(int i in src){
s += i;}return s;}publicstaticdoubleAvg(IEnumerable src){double s =0, count =0;foreach(int i in src){
s += i;
count++;}return s/count;}}}