C# 如何检查.NET中特定值范围内的值列表
假设我有一个随机值的列表C# 如何检查.NET中特定值范围内的值列表,c#,.net,linq,list,C#,.net,Linq,List,假设我有一个随机值的列表 11, 22, 33, 44, 55, 66, 77, 88 我想提取20-60之间的所有值,比如哪个值使用偏移量-20和+20的值 所以我应该只得到22,33,44,55 代码 uint Val=40; List List1=新列表(){11,22,33,44,55,66,77,88}; 列表选中列表=列表1。其中(t=>(Val-20)>=t&&tAppendToList如果需要列表: List<uint> CheckedList = List1.Wh
11, 22, 33, 44, 55, 66, 77, 88
我想提取20-60
之间的所有值,比如哪个值使用偏移量-20
和+20
的值
所以我应该只得到22,33,44,55
代码
uint Val=40;
List List1=新列表(){11,22,33,44,55,66,77,88};
列表选中列表=列表1。其中(t=>(Val-20)>=t&&tAppendToList
如果需要列表:
List<uint> CheckedList = List1.Where(t => t >= (Val - 20) && t <= (Val + 20)).ToList();
List CheckedList=List1.Where(t=>t>=(Val-20)&&t您可以试试这个
List<uint> rangeList=new List<uint>();
foreach(var values in List1)
{
if(values>=(val-20) && values<=(val+20))
{
rangeList.Add(values);
}
}
List rangeList=新列表();
foreach(列表1中的var值)
{
如果(values>=(val-20)和&valuesLINQ方法大多返回IEnumerable
,要获得列表
,您可以使用ToList
方法:
List<uint> CheckedList = List1.Where(t => (Val - 20) >= t && t <= (Val + 20))
.ToList();
List CheckedList=List1.Where(t=>(Val-20)>=t&&t(Val-20)>=t&&tList CheckedList=List1.Where(t=>t>=(Val-20)&&t疯狂,就像问题解决了一样,我肯定认为linq方程是错的。是的,它太好了,不可能是真的,但仍然在正确的范围内工作,转换了太多的值。@SSpoke-括号没有错,你的条件本身是错的。它应该是列表CheckedList=List1。其中(t=>t>=(Val-20)&&t@RahulSingh谢谢你现在它更干净、更容易理解,非常完美。A+是的,我正在寻找一个快速linq 1衬里,但如果不可能,我会使用这个,它不会太长
List<uint> CheckedList = List1.Where(t => (Val - 20) >= t && t <= (Val + 20))
.ToList();
List<uint> CheckedList = new List<uint>(list1.Where(t => (Val - 20) >= t && t <= (Val + 20)));
List<uint> CheckedList = List1.Where(t => t>= (Val - 20) && t <= (Val + 20)).ToList();