我感觉一样啊,请教大家
解决方案 »
- 更改过系统字体,程序放其他电脑上按钮被撑出去了
- 类似DropDownList的控件
- 开5个线程和SOCKET分别负责下载5个不同的文件
- 求助!c#
- 一个DataGrid显示的问题,在线等
- 求教DATASET 中表的数据传递大家帮个忙
- 我在使用C#链接到SQL数据库时出现如下问题,请高手帮忙解决
- Microsoft Office Spreadsheet 控件如何打开已有的excel文件?
- 请问下面这些东西怎么转换成中文
- Duplicate items are not supported by the "Resources" parameter错误,重新复制一个窗体,重命名,以及改变类名。。。出现如下问题,怎么解决
- 手机短信发送条形码
- WIN计划任务 不能自动运行
{
List<int> il = new List<int>();
for (int i = 0; i < 100; i++)
il.Add(i);
List<int> f1 = il.FindAll(item => item % 2 == 0);
var f2 = il.Where(item => item % 2 == 0);
foreach (int fi1 in f1)
Console.Write("{0} ", fi1);
Console.WriteLine();
foreach (int fi2 in f2)
Console.Write("{0} ", fi2);
}
从使用上看,两者都是使用item=>item%2==0这一lambda语句作为参数,但是两者却并不相同,前者使用的是Predicate<T>委托,而后者却是Func<T, bool>委托。
有关这两个委托的介绍,您可以参考:http://www.sunnychen.org/article.asp?id=86
findall是直接返回一个包含满足条件的结果集
而where返回的只是一个查询变量,只有你调用foreach的时候才会
去执行查询,要想和findall效果一样还得 where(XX).ToList();