我需要获取updPeriods的列表,其中bitPos> 2.
class Bit
{
public int bitPos { get; set; }
public int risePeriod { get; set; }
}
List<Bit> dataBits;
我试过
IEnumerable<int> rpList = dataBits
.Where(bit => bit.bitPos > 2)
.Select(bit => bit.risePeriod);
和
IEnumerable<int> rpList = from bit in dataBits
where bit.bitPos > 2
select bit.risePeriod
以及其他方式,但每个都返回整个dataBits列表而不仅仅是一个risePeriods列表。这应该很简单 - 对吧?
谢谢!
答案 0 :(得分:1)
我已经尝试了这个并且似乎工作正常,因为我怀疑语法和逻辑看起来是正确的。您可以尝试添加对ToList
的调用,这会在检查它是整数列表时更加清晰。如果没有,那么肯定会有其他事情发生。这是我建议的代码:
IEnumerable<int> rpList = dataBits
.Where(bit => bit.bitPos > 2)
.Select(bit => bit.risePeriod)
.ToList();