关于C#中泛型、匿名方法、迭代器问题

Liao831026 2009-06-14 12:35:18
各位高手大家好。。。。
我是个C#新手,现在提个问题。。。。
如何理解泛型、匿名方法和迭代器及其作用!
先谢谢了。。。
...全文
42 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sysping1 2009-06-14
  • 打赏
  • 举报
回复
泛型: 具体用到才确定的类型
匿名方法: Delegate, 方法类型(函数指针类型),是个类型,可以new实例,实例指向某个方法。
迭代器: emualtor,顺序枚举集合的算法

举例:

public class People
{
int lv = 0;
int lo = 0;

public static void SortPeoples(People[] peoples)
{
//泛型:Array.Sort<T>, T可以是任意类型
// Comparison 就是delegate , delegate 定义的 Comparison 就是个类型,
// 而new Comparison<People>(ComparePeople1) 是Comparison 的实例,它指向ComparePeople1
Array.Sort<People>(peoples, new Comparison<People>(ComparePeople));//排序
}

//迭代也叫枚举器,基本特征是集成于IEmualtor或ICollection,可以用foreach语法
public static void DisplayPeoples(People[] peoples)
{
foreach(People people in peoples)//迭代器
{
...
}
}

//排序
private static int ComparePeople(People p1, People p2)
{
if (p1.lv == p2.lo) return CompareInt(p1.lo, p2.lo);
return CompareInt(p1.lv, p2.lv);
}

private static int CompareInt(int n1, int n2)
{
if (n1 > n2) return 1 ;
if (n1 < n2) return -1 ;
return 0;
}
}


//别理解太深了,用吧,用到实处,就理解了!
Sysping1 2009-06-14
  • 打赏
  • 举报
回复
泛型: 具体用到才确定的类型
匿名方法: Delegate, 方法类型(函数指针类型),是个类型,可以new实例,实例指向某个方法。
迭代器: emualtor,顺序枚举集合的算法

举例:
public class People
{
int lv = 0;
int lo = 0;

public static void SortPeoples(People[] peoples)
{
//泛型:Array.Sort<T>, T可以是任意类型
// Comparison 就是delegate , delegate 定义的 Comparison 就是个类型,
// 而new Comparison<People>(ComparePeople1) 是Comparison 的实例,它指向ComparePeople1
Array.Sort<People>(peoples, new Comparison<People>(ComparePeople));//排序
}

//迭代也叫枚举器,基本特征是集成于IEmualtor或ICollection,可以用foreach语法
public static void DisplayPeoples(People[] peoples)
{
foreach(People people in peoples)//迭代器
{
...
}
}
}

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧