public static int[] RandomUniqueSelect(int[] arr, int m) { int[] res = new int[m]; if (m > arr.Length) return res; Random randObj = new Random(); for (int i = 0; i < arr.Length; i++) { /* выбор m из оставшихся n-i */ if ((randObj.Next() % (arr.Length - i)) < m) { res[--m] = arr[i]; } } return res; }