using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _08求数组的最大值
{
public delegate int DelCompare(object o1, object o2);
class Program
{
static void Main(string[] args)
{
object[] nums = { , , , , , , };
object[] names = { "张三", "李FatSoFat shit", "王五" }; object[] pers = { new Person() { Name = "张三", Age = }, new Person() { Name = "李四", Age = }, new Person() { Name = "王五", Age = } }; //object:任意传任意类型
//object[]:只能object类型的数组
//object max = GetMax(nums, C1);
//object max = GetMax(names, C2);
//object max = GetMax(pers, C3);
//Console.WriteLine(((Person)max).Age);
//Console.WriteLine(((Person)max).Name);
//Console.ReadKey(); object max = GetMax(names, (o1, o2) => { return ((string)o1).Length - ((string)o2).Length; });
Console.WriteLine(max); object max2 = GetMax(pers, (o1, o2) => { return ((Person)o1).Age - ((Person)o2).Age; });
Console.WriteLine(((Person)max2).Name);
Console.WriteLine(((Person)max2).Age);
Console.ReadKey(); } static object GetMax(object[] nums, DelCompare del)//外面传进来一个比较的方式
{
object max = nums[];
for (int i = ; i < nums.Length; i++)
{
//委托 : max-nums[i]
if (del(max, nums[i]) < )//比较的方式 if(nums[i]>max)
{
max = nums[i];
}
}
return max;
} //static int C1(object o1, object o2)
//{
// int n1 = (int)o1;
// int n2 = (int)o2;
// return n1 - n2;
//} //static int C2(object o1, object o2)
//{
// string s1 = (string)o1;
// string s2 = (string)o2;
// return s1.Length - s2.Length;
//}
//static int C3(object o1, object o2)
//{
// Person p1 = (Person)o1;
// Person p2 = (Person)o2;
// return p1.Age - p2.Age;
//} #region MyRegion
//static object GetMax(object[] names)
//{
// object max = names[0];
// for (int i = 0; i < names.Length; i++)
// {
// if (names[i].Length > max.Length)
// {
// max = names[i];
// }
// }
// return max;
//}
//static object GetMax(object[] pers)
//{
// object pMax = pers[0];
// for (int i = 0; i < pers.Length; i++)
// {
// if (pers[i].Age > pMax.Age)
// {
// pMax = pers[i];
// }
// }
// return pMax;
//}
#endregion } class Person
{
public int Age { get; set; }
public string Name { get; set; }
}
}

最新文章

  1. spark 笔记
  2. UITableViewCell 顶格
  3. CF449C Jzzhu and Apples (筛素数 数论?
  4. VS2010编写动态链接库DLL及单元测试用例,调用DLL测试正确性
  5. JSBinding + SharpKit / 原理篇:内存管理与垃圾回收
  6. [Java] 01 String 内存分析
  7. UIKit&#160;框架之UICollectionViewController
  8. MFC常用类
  9. gvim &amp; vim
  10. 监听&lt;input/&gt;标签行为的方法总结
  11. 10_9 java笔记
  12. SPL學習之SplDoublyLinkedList
  13. VS2013中使用QT插件后每次重新编译问题
  14. 网络请求工具--AFNetworking 分类: ios技术 2015-02-03 08:17 76人阅读 评论(0) 收藏
  15. 01_MUI之Boilerplate中:HTML5示例,动态组件,自定义字体示例,自定义字体示例,图标字体示例
  16. spring jdbc学习1
  17. 使用 jenkins 搭建CI/CD流水线 (MAC)
  18. bzoj3143 游走
  19. U-Mail邮件群发触发器功能助力营销自动化
  20. L2 L3 L4

热门文章

  1. syslogd日志简介***
  2. linux下各种颜色文件的意义
  3. 【转】JMeter脚本的参数化
  4. openstack 租户ip 手动配置 openstack静态租户ip
  5. Oracle 10g RAC 如何配置 VIP IPMP
  6. 使用Handler类来更新UI
  7. Java两种延时——thread和timer
  8. SecureCRT中某些命令提示符下按Backspace显示^H的解决方法
  9. Android剖析和运行机制
  10. Spring总结三:DI(依赖注入)