本文主要是介绍泛型委托和Lamda表达式的应用示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
using System;
namespace 泛型委托
{//求任意数组的最大值public delegate int DeleProcess<T>(T o1, T o2);class Program{static void Main(string[] args){int[] nums = new int[] { 1, 2, 3, 4, 5 };int max = GetMax(nums, (int o1, int o2) =>{return o1 - o2;});Console.WriteLine("int数组中的最大值:{0}",max);/*****************************************************************/string[] strs = new string[] { "asdf", "asdfghjkl","qwertyuiopqweritewoi"};string str = GetMax(strs, (string str1, string str2) =>{return str1.Length - str2.Length;//返回int类型});Console.WriteLine("string数组中的最长的字符串:{0}", str);Console.ReadKey();}/// <summary>/// 获得数组中的最大值。/// </summary>/// <typeparam name="T"></typeparam>/// <param name="nums">需要计算的T类型的数组</param>/// <param name="del">委托方法</param>/// <returns></returns>public static T GetMax<T>(T[] nums, DeleProcess<T> del){T max = nums[0];for (int i = 1; i < nums.Length; i++){//传进来一个比较的方法if (del(max, nums[i]) < 0){max = nums[i];}}return max;}}
}
这篇关于泛型委托和Lamda表达式的应用示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!