第1个回答 2012-06-23
至一楼,C#中数组不可改变大小,所以不存在Remove,也不能改变Length。
建议楼主把数组改为List,操作会很方便。
Random ran = new RadnDom();
//将数组转换成List
List<int> listArr = arr.ToList<int>();
List<int> result = new List<int>();
//循环插入数值
for(int i=0;i<6;i++)
{
//随机获取一个数
int index= ran.Next(0,listArr.Count-1);
//将这个数存入结果List中
result.Add(listArr[index]);
//删除已经取过的数
listArr.RemoveAt(index);
}
第2个回答 2012-06-22
Random ran = new RadnDom();
string strResult=string.Empty;
//循环六次
for(int i=0;i<6;i++)
{
//随机获取一个数
int index= ran.Next(0,arr.lenght-1);
strResult+=arr[index].ToString();
//将获取得到的那个数从移除
arr.Remove(index);
}
不记得 int 数组有没有移除这个方法了
如果没有的话
就用循环移除
for(int i=index;i<arr.Length;i++)
{
arr[i]=arr[i+1];
arr.lenght=arrLenght-1;
}本回答被网友采纳
第3个回答 2021-01-24
static Random random = new Random();
private static int[] CreateRandom()
{
int[] arr=new int[33];
for (int i = 0; i < 6; )
{
int n = random.Next(1, 34);
if(Array.IndexOf(arr,n)<0)//索引判断是否重复,小于0即不重复
arr[i++] = n;
}
return arr;
}
private static void Main()
{
int[] array = CreateRandom();
foreach (float item in array)
{
Console.WriteLine(item);
}
}