获取符合我的LINQ的线指标 [英] Get index of lines that match my linq
本文介绍了获取符合我的LINQ的线指标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个LINQ声明,我想知道是否有可能获得符合我的语句行indicies?在这里,它是:
VAR的结果= list3.Where(中间= GT; list4.Any(X => X == middle.Middle.category1))选择(OBJ =方式>新{OBJ,DT = DateTime.ParseExact(obj.LeftColumn,日期格式,CultureInfo.InvariantCulture)})
。凡(X => x.dt > = datetimepickerChoice1和放大器;&安培; x.dt< = datetimepickerChoice2)
。选择(X => x.obj).ToList();
解决方案
您可以使用 选择超载
(或其中,
),这也突出了元素的索引:
VAR的结果=项目list3 。选择((中,指数)=>新建{中旬,指数})
。凡(X => list4.Any(XX => XX == x.middle.Middle.category1))
。选择(X =>新建{x.middle,x.index,DT = DateTime.ParseExact(x.middle.LeftColumn,日期格式,CultureInfo.InvariantCulture)})
。凡(X => ; x.dt> = czas11和放大器;&安培; x.dt< = czas22)
。选择(X => x.index)
.ToList();
边注:考虑改变你的变量名称要有意义的多。这是不可读的。
I have a linq statement and I would like to know if it is possible to get indicies of lines that match my statement? Here it is:
var result = list3.Where(middle => list4.Any(x => x == middle.Middle.category1)).Select(obj => new { obj, dt = DateTime.ParseExact(obj.LeftColumn, dateFormat, CultureInfo.InvariantCulture) })
.Where(x => x.dt >= datetimepickerChoice1 && x.dt <= datetimepickerChoice2)
.Select(x => x.obj).ToList();
解决方案
You can use the overload of Select
(or Where
) which projects also the index of the element:
var result = list3.Select((middle, index) => new{ middle, index })
.Where(x => list4.Any(xx => xx == x.middle.Middle.category1))
.Select(x => new { x.middle, x.index, dt = DateTime.ParseExact(x.middle.LeftColumn, dateFormat, CultureInfo.InvariantCulture) })
.Where(x => x.dt >= czas11 && x.dt <= czas22)
.Select(x => x.index)
.ToList();
Side-note: consider to change your variable names to be more meaningful. That is unreadable.
这篇关于获取符合我的LINQ的线指标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文