从1-5种随机出一个大小为3的数组
GetNoRepeatRandom(1,5,3);
public int[] GetNoRepeatRandom(int start, int end, int n) {
if (n <= 0 || start > end) {
return null;
}
int len = end - start + 1;
if (n > len) {
return null;
}
int[] source = new int[len];
for (int i = start; i < start + len; i++) {
source[i - start] = i;
}
int[] result = new int[n];
int index = 0;
for (int i = 0; i < result.Length; i++) {
index = new System.Random().Next() % len--;
result[i] = source[index];
source[index] = source[len];
}
return result;
}