Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检查.NET中特定值范围内的值列表_C#_.net_Linq_List - Fatal编程技术网

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&&tAppend
ToList
如果需要列表:

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&&t
List 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();