0 부터 10까지의 숫자중에 랜덤으로 a개를 뽑을려고합니다.


근데 0을 뽑으면 0을 제외한 나머지 숫자를 뽑아야하는데

while문쓰는건 좀 바보같은 짓인거 같아서 다른방법이 있나하여 질문합니다.



public int[] RandomNumber(int 전체수, int 뽑을수)

{

bool[] 전체수집합 = new bool[전체수];

int[] 정답지 = new int[뽑을수];

for (int i = 0; i < 뽑을수; i++)

{

int 사고방지 = 전체수 * 100;

int 반복 = 0;

bool 뽑힌수존재유무 = false;

while (반복 < 사고방지)

{

int 뽑힌수 = Random.Range(0, 전체수);

if (전체수집합[뽑힌수] == false)

{

전체수집합[뽑힌수] = true;

정답지[i] = 뽑힌수;

뽑힌수존재유무 = true;

break;

}

else

{

반복++;

}

}

if (!뽑힌수존재유무)

{

//에러났어염

}

}

return 정답지;

}


좋은방법 있으면 알려주세요 감사합니다