(From i In Enumerable.Range(0, dtData.Rows.Count)
Where dtData.Rows(i)(0).ToString.Trim.Equals(strSplitTrigger)
Select x = i).toArray
arrTriggerIndex.Select(Function (x) x +1).toArray
arrSkippers.Zip(arrSkippers.Skip(1).Append(dtData.Rows.Count + 1), Function (x,y) new Int32(){x,y - x - 1}).ToList
ListSkipTakePairs = arrSkippers.Zip(arrSkippers.Skip(1).Append(dtData.Rows.Count + 1), Function (x,y) new Int32(){x,y - x - 1}).ToList
Inspections:
Loop Inspections:
As An alternate you can also modify the following approach