请问怎么产生随机数
怎么产生一个这样的随机数
要求 1.位数为6位
2.其中字母两位,数字四位
3.字母和数字的排列顺序也是随机
4.字母的大小写也是随机产生
谢谢了
------解决方案--------------------using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
public partial class test1 : System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlTable Table1;
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
codeShow(myCode(4));
Response.Write(myCode(4));
//Label1.Text = myCode(4);
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
/// <summary>
/// 产生随机字符
/// </summary>
/// <param name= "num "> 随机字符的位数 </param>
/// <returns> </returns>
private string myCode(int num)
{
string str = " ";
int n = 0;
Random r = new Random();
for (int i = 0; i < num; i++)
{
n = r.Next();
if (n % 2 == 0)
{
n = n % 10;//得到1~9 之间的数
str += n.ToString();
}
else
{
n = n % 26; //得到1~25 之间的数
str += ((char)((int) 'a ' + n)).ToString();
}
}
return str;
}
private void codeShow(string str)
{
//实例化 Bitmap 类 初始化它的宽度和高度
Bitmap image = new Bitmap(str.Length * 12, 22);
//创建 GDI 绘图,并指定待绘制的图片
Graphics g = Graphics.FromImage(image);
//清除图片上的图像并以指定颜色填充
g.Clear(Color.White);
Random r = new Random();
try
{
//*********** 随机绘制干扰线条 ***********
for (int i = 0; i < 10; i++)
{
int x1 = r.Next(image.Width);
int y1 = r.Next(image.Height);
int x2 = r.Next(image.Width);
int y2 = r.Next(image.Height);
g.DrawLine(new Pen(Color.White), x1, y1, x2, y2);
}
//****************************************
//****** 将字符串绘制到图片上 *************
//设置字体