假设我有一个随机值的列表
11, 22, 33, 44, 55, 66, 77, 88我想提取20-60之间的所有值,比方说,它使用的值是40,带有偏移量的-20和+20。
所以我应该只买22,33,44,55
代码
uint Val = 40;
List<uint> List1 = new List<uint>() {11, 22, 33, 44, 55, 66, 77, 88};
List<uint> CheckedList = List1.Where(t => (Val - 20) >= t && t <= (Val + 20));我尝试过这段代码,但我无法让它编译Linq,这是很难掌握的。
发布于 2016-01-22 11:11:45
如果您想要一个列表,请追加ToList:
List<uint> CheckedList = List1.Where(t => t >= (Val - 20) && t <= (Val + 20)).ToList();发布于 2016-01-22 11:16:53
你可以试试这个
List<uint> rangeList=new List<uint>();
foreach(var values in List1)
{
if(values>=(val-20) && values<=(val+20))
{
rangeList.Add(values);
}
}发布于 2016-01-22 11:19:44
LINQ方法大多返回IEnumerable<T>,要获得List,可以使用ToList方法:
List<uint> CheckedList = List1.Where(t => (Val - 20) >= t && t <= (Val + 20))
.ToList();或者调用IEnumerable:
List<uint> CheckedList = new List<uint>(list1.Where(t => (Val - 20) >= t && t <= (Val + 20)));https://stackoverflow.com/questions/34945273
复制相似问题