private void CreateRealises(List<int> realises, int realise, bool[] mask, int startIndex) { for (int i = startIndex; i < mask.Length; i++) { if (mask[i]) { int localBitMask = 1 << i; int number = realise | localBitMask; if (!realises.Contains(number)) realises.Add(number); CreateRealises(realises, number, mask, i + 1); number = realise & ~localBitMask; if (!realises.Contains(number)) realises.Add(number); CreateRealises(realises, number, mask, i + 1); } } }
public static string[] ToStringArray(this CaptureCollection col) { List<string> list = new List<string>(); for (int i = 0; i < col.Count; i++) { if (!list.Contains(col[i].Value)) list.Add(col[i].Value); } return list.ToArray(); }