C#委託冒泡

來源:互聯網
上載者:User

標籤:container   rri   sharp   write   委託方   code   實體類   order   index   

委託的實現,就是編譯器自行定義了一個類:有三個重要參數1.制定操作對象,2.指定委託方法3.委託鏈

看如下一個列子:

12345678910111213141516171819202122 class DelegatePratice   {       public static 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], sortArray[i + 1]))                   {                       T temp = sortArray[i];                       sortArray[i] = sortArray[i + 1];                       sortArray[i + 1] = temp;                       swapped = true;                   }               }           while (swapped);                  }   }<br><br>定義實體類:
12345678910111213141516171819202122232425262728293031323334353637 class Employee    {        public Employee(string name, decimal salary)        {            this.Name = name;            this.Salary = salary;        }        public string Name        {            get;            set;        }        public decimal Salary        {            get;            set;        }        /// <summary>        /// 重寫object的ToString方法        /// </summary>        /// <returns></returns>        public override string ToString()        {            return string.Format("{0},{1:C}",Name,Salary);        }                 /// <summary>        /// 比較兩員工的工資以此排序        /// </summary>        /// <param name="e1"></param>        /// <param name="e2"></param>        /// <returns></returns>        public static bool Comparison(Employee e1, Employee e2)        {            return e1.Salary > e2.Salary;        }    }<br><br>

 調用

123456789101112131415 class Program    {        static void Main(string[] args)        {            Employee[] employees = { new Employee("simen", 5500), new Employee("shelly", 5900),                new Employee("pool", 4300), new Employee("renata", 3800) };            DelegatePratice.Sort(employees, Employee.Comparison);            foreach (Employee employee in employees)            {                Console.WriteLine(employee);            }            Console.ReadKey();        }    }}

C#委託冒泡

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.