62,046
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;
namespace TestImg
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int[] c = RandomNumbers(5, 1, 11);
if (c.Length != 0)
{
for (int i = 0; i < c.Length; i++)
{
Response.Write(c[i].ToString() + "<br/>");
}
}
else
{
Response.Write("Error");
}
}
/// <summary>
/// 随机数
/// </summary>
/// <param name="ACount">个数</param>
/// <param name="AMinValue">最小值</param>
/// <param name="AMaxValue">最大值</param>
/// <returns></returns>
public static int[] RandomNumbers(int ACount, int AMinValue, int AMaxValue)
{
if (ACount <= 0) return null;
if (AMaxValue < AMinValue)
AMinValue = AMaxValue | (AMaxValue = AMinValue) & 0;
if (ACount > AMaxValue - AMinValue + 1) return null;
List<int> vValues = new List<int>();
for (int i = AMinValue; i <= AMaxValue; i++)
vValues.Add(i);
int[] Result = new int[ACount];
Random vRandom = new Random();
for (int i = 0; i < ACount; i++)
{
int j = vRandom.Next(vValues.Count);
Result[i] = vValues[j];
vValues.RemoveAt(j);
}
return Result;
}
}
}
/// <summary>
/// 从1到n中任意选取不重复的10个随机数
/// </summary>
/// <returns></returns>
private List<int> GenerateNumber()
{
//用于保存返回结果
List<int> result = new List<int>(10);
Random random = new Random();
int index = 0;
int value = 0;
for (int i = 1; i <= 10; i++)
{
//从[0,container.Count)中取一个随机值,保证这个值不会超过container的元素个数
index = random.Next(0, container.Count);//谢谢热心朋友指出这里的错误
//以随机生成的值作为索引取container中的值
value = container[index];
//将随机取得值的放到结果集合中
result.Add(value);
//从容器集合中删除这个值,这样会导致container.Count发生变化
container.RemoveAt(index);
}
//result.Sort();排序
return result;
}