C#委托冒泡
来源:互联网 发布:七天网络查分怎么登录 编辑:程序博客网 时间:2024/06/09 16:45
委托的实现,就是编译器自行定义了一个类:有三个重要参数1.制定操作对象,2.指定委托方法3.委托链
看如下一个列子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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>定义实体类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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>
调用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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();
}
}
}
0 0
- C#委托冒泡
- C#之冒泡排序(委托)
- C#中的委托版的冒泡排序
- C#中使用委托对字符串进行冒泡排序案例
- javascript事件委托(冒泡)
- 冒泡排序委托
- C#委托-委托概述
- C#委托
- C#委托
- C#委托
- c#委托
- C# 委托
- C#委托
- C# 委托
- c#委托
- C#委托
- c#委托
- C#委托
- [学习]Linux Signal
- XML查询
- (转)Android Studio -修改LogCat的颜色*美爆了*
- @interface 注解详解
- NYOJ_1253_Turing equation[【水题】
- C#委托冒泡
- 转载博客文章技巧
- 应用程序写Xml文档
- 慕课网c语言学习记录(递归,局部与全局,变量存储类别,内外部函数)
- Ubuntu环境下安装jdk1.8
- the diary of pipe in linux
- 机器学习实战之K-means
- Java基础之容器
- 二叉树--TreeSet数据结构