zoukankan      html  css  js  c++  java
  • 委托的使用,排序

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Wrox.ProCSharp.Delegates
    {
      class BubbleSorter
      {
        static public void Sort<T>(IList<T> sortArray, Func<T, T, bool> comparison)
        {
          bool swapped = true;
          do
          {
            swapped = false;
            for (int i = 0; i < sortArray.Count - 1; i++)
            {
              if (comparison(sortArray[i + 1], sortArray[i]))
              {
                T temp = sortArray[i];
                sortArray[i] = sortArray[i + 1];
                sortArray[i + 1] = temp;
                swapped = true;
              }
            }
          } while (swapped);
        }
      }
    }
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Wrox.ProCSharp.Delegates
    {
      class Employee
      {
        public Employee(string name, decimal salary)
        {
          this.Name = name;
          this.Salary = salary;
        }
    
        public string Name { get; private set; }
        public decimal Salary { get; private set; }
    
        public override string ToString()
        {
          return string.Format("{0}, {1:C}", Name, Salary);
        }
    
        public static bool CompareSalary(Employee e1, Employee e2)
        {
          return e1.Salary < e2.Salary;
        }
      }
    
    }
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Wrox.ProCSharp.Delegates
    {
      class Program
      {
        static void Main()
        {
          Employee[] employees =
          {
            new Employee("Bugs Bunny", 20000),
            new Employee("Elmer Fudd", 10000),
            new Employee("Daffy Duck", 25000),
            new Employee("Wile Coyote", 1000000.38m),
            new Employee("Foghorn Leghorn", 23000),
            new Employee("RoadRunner", 50000)
          };
    
          BubbleSorter.Sort(employees, Employee.CompareSalary);
    
          foreach (var employee in employees)
          {
            Console.WriteLine(employee);
          }
          Console.ReadKey();
        }
      }
    }
    

     

  • 相关阅读:
    Docker配置容器位置和小技巧
    firewall防火墙
    iptables防火墙常用命令
    Docker 常用命令
    Dockerfile镜像的制作
    Windows和Centos下Docker的安装配置
    ubuntu 常用命令
    microPython环境安装及使用
    Arduino上“Collect2.exe: error: ld returned 5 exit status”错误的解决方法
    基于C语言的面向对象编程
  • 原文地址:https://www.cnblogs.com/swtool/p/9705737.html
Copyright © 2011-2022 走看看