【linq】如何在Select的同时过滤 虽然不懂linq,但是你这样写跟封装成方法然后自己写循环还有任何区别?select不是应该配合where子句使用吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 IEnumerable<string> strings = getStrings(); var dateTimes = strings.AsParallel().Where(s => { DateTime dt; var success = DateTime.TryParse(s, out dt); return success; }); 如果你想要返回的是日期数组 IEnumerable<string> strings = getStrings(); var dateTimes = strings.AsParallel().Where(s => { DateTime dt; var success = DateTime.TryParse(s, out dt); return success; }).Select(s=>DateTime.Parse(s)); 虽然不知道里面怎么写,我想不写if语句,在结果集上RemoveAll(dt => dt == DateTime.MinValue); 或者 IEnumerable<string> strings = getStrings(); var dateTimes = strings.AsParallel().Select(s => { DateTime dt; var success = DateTime.TryParse(s, out dt); if (!success) { //这里我不想在结果集里要这个元素了,怎么写呢 return DateTime.MinValue; } return dt; }).Where(s=>s!=DateTime.MinValue); 先where再select(数据量大,符合条件的数据少,用这个)或者先select再where(where的条件很复杂,先select下写着比较清晰)总之不能合并 select的功能是把符合结果的数据,组装成你想要的数据的,在select之前最好先where 如果用linq的表达式的话,他会自动处理,如果你直接调整静态扩展的方法,还是自己注意一点。 待会试试看,之前一般没这么写,都是where+select。 C# WebBrowser控件如何做到模拟鼠标点击? C#连接oracle数据库 菜鸟问题 如何把视频监控部署到Mobile(C#.Net)上? 为什么自定义的控件经常从面板上消失? 请问怎么把已经做好的winform生成为exe的执行文件呀??? 关于TreeView的问题 运行vs2008程序报错,这个问题怎么查看?或者怎么解决,谢谢 在局域网里,一个ACCESS数据库,多个应用程序访问,要怎么解决? 急!!请帮帮我,我在等 数据通信的问题 c#怎么获取本机的时区。
IEnumerable<string> strings = getStrings();
var dateTimes = strings.AsParallel().Where(s =>
{
DateTime dt;
var success = DateTime.TryParse(s, out dt); return success;
});
var dateTimes = strings.AsParallel().Where(s =>
{
DateTime dt;
var success = DateTime.TryParse(s, out dt); return success;
}).Select(s=>DateTime.Parse(s));
var dateTimes = strings.AsParallel().Select(s =>
{
DateTime dt;
var success = DateTime.TryParse(s, out dt); if (!success)
{
//这里我不想在结果集里要这个元素了,怎么写呢
return DateTime.MinValue;
} return dt;
}).Where(s=>s!=DateTime.MinValue);
或者先select再where(where的条件很复杂,先select下写着比较清晰)
总之不能合并
在select之前最好先where