Вы можете использовать Linq, чтобы выбрать и значение, и индекс, затем отфильтровать элементы, значение которых не соответствует критериям вашего фильтра, и вернуть индексы:
List<Tuple<int, int[]>> someInfo = new List<Tuple<int, int[]>>
{
new Tuple<int, int[]>(1, new[] {0, -1, -2, -3, -4}),
new Tuple<int, int[]>(1, new[] {-5, 5, 100, -52, 5}),
new Tuple<int, int[]>(1, new[] {1, 2, 3, 4, 5})
};
List<int[]> positiveValueIndices = someInfo
.Select(tuple => tuple.Item2
.Select((value, index) => new {value, index})
.Where(item => item.value > 0)
.Select(item => item.index)
.ToArray())
.ToList();