Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
Arrays 从索引模X中查找linq中具有特定值的所有元素_Arrays_Linq_List_Indexing_Modulo - Fatal编程技术网

Arrays 从索引模X中查找linq中具有特定值的所有元素

Arrays 从索引模X中查找linq中具有特定值的所有元素,arrays,linq,list,indexing,modulo,Arrays,Linq,List,Indexing,Modulo,如何修改我的方法,只检查模17时等于零的索引? 我想从这个索引中得到所有同样为零的项 我的数组列表正在存储值为0,1的数组 这是我的方法: public List<int> Funct(List<byte[]> listOfArrays) { List<int> pixelsList = new List<int>(); foreach (byte[] t in listOfArray

如何修改我的方法,只检查模17时等于零的索引? 我想从这个索引中得到所有同样为零的项

我的
数组列表
正在存储值为
0,1的数组

这是我的方法:

public List<int> Funct(List<byte[]> listOfArrays)
        {
            List<int> pixelsList = new List<int>();
            foreach (byte[] t in listOfArrays)
            {
                //count how many items with value 0
                var pixelsInArray = t.Count(n => n == 0);

                var firstElement = Array.FindIndex(t, i => i == 0);
                var lastElement = Array.FindLastIndex(t, i => i == 0);

                pixelsList.Add(pixelsInArray);
            }
            return pixelsList;
        }
公共列表函数(列表阵列)
{
列表像素列表=新列表();
foreach(listOfArrays中的字节[]t)
{
//计算值为0的项目数
var pixelsInArray=t.Count(n=>n==0);
var firstElement=Array.FindIndex(t,i=>i==0);
var lastElement=Array.FindLastIndex(t,i=>i==0);
添加(像素数组);
}
返回像素列表;
}
在该方法中,我搜索所有索引

谢谢你的帮助

注:如果需要更正,请检查我的语法。

如果我理解正确,这应该可以解决问题:

  public List<int> Funct(List<byte[]> listOfArrays)
  {
     List<int> pixelsList = new List<int>();
     foreach (byte[] t in listOfArrays)
     {
        int counter = 0;
        t.ForEachWithIndex((value, index) =>
                              {
                                 if (value == 0 && index % 17 == 0)
                                 {
                                  // your values
                                  counter++;                                      
                                 }
                              }); 

       pixelsList.Add(counter);
     }

     return pixelsList;
  }
公共列表函数(列表阵列)
{
列表像素列表=新列表();
foreach(listOfArrays中的字节[]t)
{
int计数器=0;
t、 ForEachWithIndex((值,索引)=>
{
如果(值==0&&index%17==0)
{
//你的价值观
计数器++;
}
}); 
像素列表添加(计数器);
}
返回像素列表;
}
扩展名位于:

命名空间MyExtensions
{
公共静态类ForEachExtensions
{
公共静态void ForEachWithIndex(此IEnumerable可枚举,操作处理程序)
{
int-idx=0;
foreach(可枚举中的T项)
处理程序(项目,idx++);
}
}
}

如果我正确理解了以下内容,这应该可以解决问题:

  public List<int> Funct(List<byte[]> listOfArrays)
  {
     List<int> pixelsList = new List<int>();
     foreach (byte[] t in listOfArrays)
     {
        int counter = 0;
        t.ForEachWithIndex((value, index) =>
                              {
                                 if (value == 0 && index % 17 == 0)
                                 {
                                  // your values
                                  counter++;                                      
                                 }
                              }); 

       pixelsList.Add(counter);
     }

     return pixelsList;
  }
公共列表函数(列表阵列)
{
列表像素列表=新列表();
foreach(listOfArrays中的字节[]t)
{
int计数器=0;
t、 ForEachWithIndex((值,索引)=>
{
如果(值==0&&index%17==0)
{
//你的价值观
计数器++;
}
}); 
像素列表添加(计数器);
}
返回像素列表;
}
扩展名位于:

命名空间MyExtensions
{
公共静态类ForEachExtensions
{
公共静态void ForEachWithIndex(此IEnumerable可枚举,操作处理程序)
{
int-idx=0;
foreach(可枚举中的T项)
处理程序(项目,idx++);
}
}
}

是的,byt不立即添加到列表中,只需计算:)但此代码也很有用OK,我修复它:)这就是你的意思吗?是的,它应该是,但它对我不起作用<无法识别代码>ForEachWithIndex
。我正在尝试找出原因。我将这些类放在相同的名称空间中,您确定要将“using”添加到ForEachExtensions(如果它在另一个名称空间中)?是的:)您应该将它放在项目中的某个位置,默认情况下它不在.Net framework中是的,byt不立即添加到列表中,而只是计数:)但这段代码也很有用,我修好了:)这就是你的意思吗?是的,它应该是,但它对我不起作用<无法识别代码>ForEachWithIndex。我正在尝试找出原因。我将这些类放在相同的命名空间中,您确定要将“using”添加到ForEachExtensions(如果它在另一个命名空间中)?yeap:)您应该将它放在项目中的某个位置,默认情况下它不在.Net framework中