// qui genero tutti i sottinsiemi, ma probabilmente non serve int[] arr = ssaForw[ipred].ToArray(); // E' linq! Genera tutti i sottinsiemi degli elementi dell'array var subsets = from i1 in Enumerable.Range(0, 1 << arr.Length) select from i2 in Enumerable.Range(0, arr.Length) where (i1 & (1 << i2)) != 0 select arr[i2]; foreach(var set in subsets) int[] elem = set.ToArray();