一个模拟系统。我要每行的数据不一样。using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Drawing;namespace Stock
{
public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Bind();
}
}
protected void Timer1_Tick(object sender, EventArgs e)
{
NewBind(); }
public void Bind()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("StockID")); //股票编号
dt.Columns.Add(new DataColumn("StockName"));//股票名称
dt.Columns.Add(new DataColumn("Trend"));//走势
dt.Columns.Add(new DataColumn("ClosingCost"));//成交价
dt.Columns.Add(new DataColumn("UpsAndDowns"));//涨跌
dt.Columns.Add(new DataColumn("Rose"));//涨幅
dt.Columns.Add(new DataColumn("Turnover"));//成交金额
dt.Columns.Add(new DataColumn("TradingValume"));//成交量
dt.Columns.Add(new DataColumn("TaoCount"));//套牢次数
DataRow dr1 = dt.NewRow();
dr1["StockID"] = "000001";
dr1["StockName"] = "蜀中制药";
dr1["Trend"] = "→";
dr1["ClosingCost"] = 1 + "元";
dr1["UpsAndDowns"] = "平";
dr1["Rose"] = 0 + "%";
dr1["Turnover"] = 0 + "元";
dr1["TradingValume"] = 0 + "股";
dr1["TaoCount"] = 20;
DataRow dr2 = dt.NewRow();
dr2["StockID"] = "000002";
dr2["StockName"] = "中国铝业";
dr2["Trend"] = "→";
dr2["ClosingCost"] = 1 + "元";
dr2["UpsAndDowns"] = "平";
dr2["Rose"] = 0 + "%";
dr2["Turnover"] = "0元";
dr2["TradingValume"] = "0股";
dr2["TaoCount"] = 20;
DataRow dr3 = dt.NewRow();
dr3["StockID"] = "000003";
dr3["StockName"] = "中国电力";
dr3["Trend"] = "→";
dr3["ClosingCost"] = 1 + "元";
dr3["UpsAndDowns"] = "平";
dr3["Rose"] = 0 + "%";
dr3["Turnover"] = "0元";
dr3["TradingValume"] = "0股";
dr3["TaoCount"] = 20;
DataRow dr4 = dt.NewRow();
dr4["StockID"] = "000004";
dr4["StockName"] = "国家能源";
dr4["Trend"] = "→";
dr4["ClosingCost"] = 1 + "元";
dr4["UpsAndDowns"] = "平";
dr4["Rose"] = 0 + "%";
dr4["Turnover"] = "0元";
dr4["TradingValume"] = "0股";
dr4["TaoCount"] = 20;
DataRow dr5 = dt.NewRow();
dr5["StockID"] = "000005";
dr5["StockName"] = "中国铁路";
dr5["Trend"] = "→";
dr5["ClosingCost"] = 1 + "元";
dr5["UpsAndDowns"] = "平";
dr5["Rose"] = 0 + "%";
dr5["Turnover"] = "0元";
dr5["TradingValume"] = "0股";
dr5["TaoCount"] = 20;
dt.Rows.Add(dr1);
dt.Rows.Add(dr2);
dt.Rows.Add(dr3);
dt.Rows.Add(dr4);
dt.Rows.Add(dr5);
gv.DataSource = dt;
gv.DataBind();
gv2.DataSource = dt;
gv2.DataBind();
Session["dt"] = dt;
}
public void NewBind()
{
DataTable dt = Session["dt"] as DataTable;
foreach (DataRow dr in dt.Rows)
{
Random rs = new Random();
double zs = rs.NextDouble();
Random rf = new Random();
double zf = rf.Next(0, 1000);
Random rc = new Random();
int zc = rc.Next(0, 999999);
string price = dr["ClosingCost"].ToString();
price = price.Replace("元", "");
double pr = Convert.ToDouble(price);
int taoCount = Convert.ToInt32(dr["TaoCount"].ToString());
string upanddown = dr["UpsAndDowns"].ToString(); if (upanddown != "套牢")
{
if (zs < 0.33)
{
dr["Trend"] = "↑";
dr["ClosingCost"] = Math.Round(((zf / 10000) + 1) * pr, 3) + "元";
dr["UpsAndDowns"] = "涨";
dr["Rose"] = (zf / 100) + "%";
dr["Turnover"] = Math.Round(((zf / 10000) + 1) * pr, 3) * zc + "元";
dr["TradingValume"] = zc + "股";
}
else if (zs > 0.66)
{
dr["Trend"] = "↓";
dr["ClosingCost"] = Math.Round((1 - (zf / 10000)) * pr, 3) + "元";
dr["UpsAndDowns"] = "跌";
dr["Rose"] = -(zf / 100) + "%";
dr["Turnover"] = Math.Round((1 - (zf / 10000)) * pr, 3) * zc + "元";
dr["TradingValume"] = zc + "股";
}
else
{
dr["Trend"] = "→";
dr["ClosingCost"] = pr + "元";
dr["UpsAndDowns"] = "平";
dr["Rose"] = 0 + "%";
dr["Turnover"] = pr * zc + "元";
dr["TradingValume"] = zc + "股";
}
if (pr < 0.5)
{
dr["Trend"] = "";
dr["UpsAndDowns"] = "套牢";
}
}
else if (upanddown == "套牢")
{
if (taoCount > 0)
{
taoCount--;
dr["Trend"] = "";
dr["ClosingCost"] = 1 + "元";
dr["UpsAndDowns"] = "套牢";
dr["Rose"] = 0 + "%";
dr["Turnover"] = 0 + "元";
dr["TradingValume"] = 0 + "股";
dr["TaoCount"] = taoCount;
}
else
{
dr["Trend"] = "";
dr["ClosingCost"] = 1 + "元";
dr["UpsAndDowns"] = "平";
dr["Rose"] = 0 + "%";
dr["Turnover"] = 0 + "元";
dr["TradingValume"] = 0 + "股";
dr["TaoCount"] = 20;
}
}
}
gv.DataSource = dt;
gv.DataBind();
gv2.DataSource = dt;
gv2.DataBind();
for (int i = 0; i < gv.Rows.Count; i++)
{
if (dt.Rows[i][4].ToString().Equals("涨"))
{
gv.Rows[i].ForeColor = Color.Green;
}
else if (dt.Rows[i][4].ToString().Equals("跌"))
{
gv.Rows[i].ForeColor = Color.Red;
}
else if (dt.Rows[i][4].ToString().Equals("平"))
{
gv.Rows[i].ForeColor = Color.Blue;
}
else
{
gv.Rows[i].ForeColor = Color.Gray;
}
}
for (int i = 0; i < gv2.Rows.Count; i++)
{
if (dt.Rows[i][4].ToString().Equals("涨"))
{
gv2.Rows[i].ForeColor = Color.Green;
Label lbl = gv2.Rows[i].Cells[0].FindControl("lblAmount") as Label;
string wh = dt.Rows[i][5].ToString();
wh = wh.Replace("%", "");
lbl.Width = Convert.ToUInt16(Convert.ToDouble(wh) * 100);
lbl.BackColor = Color.Green;
}
else if (dt.Rows[i][4].ToString().Equals("跌"))
{
gv2.Rows[i].ForeColor = Color.Red;
Label lbl = gv2.Rows[i].Cells[0].FindControl("lblAmount") as Label;
string wh = dt.Rows[i][5].ToString();
wh = wh.Replace("%", "");
wh = wh.Replace("-", "");
lbl.Width = Convert.ToUInt16(Convert.ToDouble(wh) * 100);
lbl.BackColor = Color.Red;
}
else if (dt.Rows[i][4].ToString().Equals("平"))
{
gv2.Rows[i].ForeColor = Color.Blue;
Label lbl = gv2.Rows[i].Cells[0].FindControl("lblAmount") as Label;
string wh = dt.Rows[i][5].ToString();
wh = wh.Replace("%", "0.01");
lbl.Width = Convert.ToUInt16(Convert.ToDouble(wh) * 100);
lbl.BackColor = Color.Blue;
}
else
{
gv2.Rows[i].ForeColor = Color.Gray;
}
}
Session["dt"] = dt;
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Drawing;namespace Stock
{
public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Bind();
}
}
protected void Timer1_Tick(object sender, EventArgs e)
{
NewBind(); }
public void Bind()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("StockID")); //股票编号
dt.Columns.Add(new DataColumn("StockName"));//股票名称
dt.Columns.Add(new DataColumn("Trend"));//走势
dt.Columns.Add(new DataColumn("ClosingCost"));//成交价
dt.Columns.Add(new DataColumn("UpsAndDowns"));//涨跌
dt.Columns.Add(new DataColumn("Rose"));//涨幅
dt.Columns.Add(new DataColumn("Turnover"));//成交金额
dt.Columns.Add(new DataColumn("TradingValume"));//成交量
dt.Columns.Add(new DataColumn("TaoCount"));//套牢次数
DataRow dr1 = dt.NewRow();
dr1["StockID"] = "000001";
dr1["StockName"] = "蜀中制药";
dr1["Trend"] = "→";
dr1["ClosingCost"] = 1 + "元";
dr1["UpsAndDowns"] = "平";
dr1["Rose"] = 0 + "%";
dr1["Turnover"] = 0 + "元";
dr1["TradingValume"] = 0 + "股";
dr1["TaoCount"] = 20;
DataRow dr2 = dt.NewRow();
dr2["StockID"] = "000002";
dr2["StockName"] = "中国铝业";
dr2["Trend"] = "→";
dr2["ClosingCost"] = 1 + "元";
dr2["UpsAndDowns"] = "平";
dr2["Rose"] = 0 + "%";
dr2["Turnover"] = "0元";
dr2["TradingValume"] = "0股";
dr2["TaoCount"] = 20;
DataRow dr3 = dt.NewRow();
dr3["StockID"] = "000003";
dr3["StockName"] = "中国电力";
dr3["Trend"] = "→";
dr3["ClosingCost"] = 1 + "元";
dr3["UpsAndDowns"] = "平";
dr3["Rose"] = 0 + "%";
dr3["Turnover"] = "0元";
dr3["TradingValume"] = "0股";
dr3["TaoCount"] = 20;
DataRow dr4 = dt.NewRow();
dr4["StockID"] = "000004";
dr4["StockName"] = "国家能源";
dr4["Trend"] = "→";
dr4["ClosingCost"] = 1 + "元";
dr4["UpsAndDowns"] = "平";
dr4["Rose"] = 0 + "%";
dr4["Turnover"] = "0元";
dr4["TradingValume"] = "0股";
dr4["TaoCount"] = 20;
DataRow dr5 = dt.NewRow();
dr5["StockID"] = "000005";
dr5["StockName"] = "中国铁路";
dr5["Trend"] = "→";
dr5["ClosingCost"] = 1 + "元";
dr5["UpsAndDowns"] = "平";
dr5["Rose"] = 0 + "%";
dr5["Turnover"] = "0元";
dr5["TradingValume"] = "0股";
dr5["TaoCount"] = 20;
dt.Rows.Add(dr1);
dt.Rows.Add(dr2);
dt.Rows.Add(dr3);
dt.Rows.Add(dr4);
dt.Rows.Add(dr5);
gv.DataSource = dt;
gv.DataBind();
gv2.DataSource = dt;
gv2.DataBind();
Session["dt"] = dt;
}
public void NewBind()
{
DataTable dt = Session["dt"] as DataTable;
foreach (DataRow dr in dt.Rows)
{
Random rs = new Random();
double zs = rs.NextDouble();
Random rf = new Random();
double zf = rf.Next(0, 1000);
Random rc = new Random();
int zc = rc.Next(0, 999999);
string price = dr["ClosingCost"].ToString();
price = price.Replace("元", "");
double pr = Convert.ToDouble(price);
int taoCount = Convert.ToInt32(dr["TaoCount"].ToString());
string upanddown = dr["UpsAndDowns"].ToString(); if (upanddown != "套牢")
{
if (zs < 0.33)
{
dr["Trend"] = "↑";
dr["ClosingCost"] = Math.Round(((zf / 10000) + 1) * pr, 3) + "元";
dr["UpsAndDowns"] = "涨";
dr["Rose"] = (zf / 100) + "%";
dr["Turnover"] = Math.Round(((zf / 10000) + 1) * pr, 3) * zc + "元";
dr["TradingValume"] = zc + "股";
}
else if (zs > 0.66)
{
dr["Trend"] = "↓";
dr["ClosingCost"] = Math.Round((1 - (zf / 10000)) * pr, 3) + "元";
dr["UpsAndDowns"] = "跌";
dr["Rose"] = -(zf / 100) + "%";
dr["Turnover"] = Math.Round((1 - (zf / 10000)) * pr, 3) * zc + "元";
dr["TradingValume"] = zc + "股";
}
else
{
dr["Trend"] = "→";
dr["ClosingCost"] = pr + "元";
dr["UpsAndDowns"] = "平";
dr["Rose"] = 0 + "%";
dr["Turnover"] = pr * zc + "元";
dr["TradingValume"] = zc + "股";
}
if (pr < 0.5)
{
dr["Trend"] = "";
dr["UpsAndDowns"] = "套牢";
}
}
else if (upanddown == "套牢")
{
if (taoCount > 0)
{
taoCount--;
dr["Trend"] = "";
dr["ClosingCost"] = 1 + "元";
dr["UpsAndDowns"] = "套牢";
dr["Rose"] = 0 + "%";
dr["Turnover"] = 0 + "元";
dr["TradingValume"] = 0 + "股";
dr["TaoCount"] = taoCount;
}
else
{
dr["Trend"] = "";
dr["ClosingCost"] = 1 + "元";
dr["UpsAndDowns"] = "平";
dr["Rose"] = 0 + "%";
dr["Turnover"] = 0 + "元";
dr["TradingValume"] = 0 + "股";
dr["TaoCount"] = 20;
}
}
}
gv.DataSource = dt;
gv.DataBind();
gv2.DataSource = dt;
gv2.DataBind();
for (int i = 0; i < gv.Rows.Count; i++)
{
if (dt.Rows[i][4].ToString().Equals("涨"))
{
gv.Rows[i].ForeColor = Color.Green;
}
else if (dt.Rows[i][4].ToString().Equals("跌"))
{
gv.Rows[i].ForeColor = Color.Red;
}
else if (dt.Rows[i][4].ToString().Equals("平"))
{
gv.Rows[i].ForeColor = Color.Blue;
}
else
{
gv.Rows[i].ForeColor = Color.Gray;
}
}
for (int i = 0; i < gv2.Rows.Count; i++)
{
if (dt.Rows[i][4].ToString().Equals("涨"))
{
gv2.Rows[i].ForeColor = Color.Green;
Label lbl = gv2.Rows[i].Cells[0].FindControl("lblAmount") as Label;
string wh = dt.Rows[i][5].ToString();
wh = wh.Replace("%", "");
lbl.Width = Convert.ToUInt16(Convert.ToDouble(wh) * 100);
lbl.BackColor = Color.Green;
}
else if (dt.Rows[i][4].ToString().Equals("跌"))
{
gv2.Rows[i].ForeColor = Color.Red;
Label lbl = gv2.Rows[i].Cells[0].FindControl("lblAmount") as Label;
string wh = dt.Rows[i][5].ToString();
wh = wh.Replace("%", "");
wh = wh.Replace("-", "");
lbl.Width = Convert.ToUInt16(Convert.ToDouble(wh) * 100);
lbl.BackColor = Color.Red;
}
else if (dt.Rows[i][4].ToString().Equals("平"))
{
gv2.Rows[i].ForeColor = Color.Blue;
Label lbl = gv2.Rows[i].Cells[0].FindControl("lblAmount") as Label;
string wh = dt.Rows[i][5].ToString();
wh = wh.Replace("%", "0.01");
lbl.Width = Convert.ToUInt16(Convert.ToDouble(wh) * 100);
lbl.BackColor = Color.Blue;
}
else
{
gv2.Rows[i].ForeColor = Color.Gray;
}
}
Session["dt"] = dt;
}
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Stock.Test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form2" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div style="font-size: 12pt; width: 100%; text-align: center">
股票行情模拟系统</div>
<div style="font-size: 9pt; width: 100%; text-align: center">
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False"
CellPadding="4" ForeColor="#333333" Width="100%"
EnableModelValidation="True">
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:TemplateField HeaderText="股票编号">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("StockID") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("StockID") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="股票名称">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("StockName") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("StockName") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="走势">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Trend") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Trend") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="成交价">
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("ClosingCost") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("ClosingCost") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="涨跌">
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Bind("UpsAndDowns") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("UpsAndDowns") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="涨幅">
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Bind("Rose") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("Rose") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="成交金额">
<ItemTemplate>
<asp:Label ID="Label7" runat="server" Text='<%# Bind("Turnover") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox7" runat="server" Text='<%# Bind("Turnover") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="成交量">
<ItemTemplate>
<asp:Label ID="Label8" runat="server" Text='<%# Bind("TradingValume") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox8" runat="server" Text='<%# Bind("TradingValume") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle BackColor="#F7F6F3" Font-Size="9pt" ForeColor="#333333"
Height="30px" />
<EditRowStyle BackColor="#999999" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>
</div>
<br />
<asp:GridView ID="gv2" runat="server" AutoGenerateColumns="False"
CellPadding="4" Font-Size="9pt" ForeColor="#333333" GridLines="Vertical"
Width="100%">
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:TemplateField HeaderText="涨幅">
<ItemTemplate>
<table style="font-size: 9pt" width="100%">
<tr>
<td style="width: 10%">
<asp:Label ID="lblStock" runat="server" Text='<%#Bind("StockName") %>'></asp:Label>
</td>
<td style="width: 85%">
<asp:Label ID="lblAmount" runat="server" Text=" "></asp:Label>
</td>
<td style="width: 10%">
<asp:Label ID="lblRose" runat="server" Text='<%#Bind("Rose") %>'></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" Height="30px"
HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" />
</Triggers>
</asp:UpdatePanel>
<span style="font-size: 9pt"> </span>
<asp:Timer ID="Timer1" runat="server" Interval="5000" OnTick="Timer1_Tick">
</asp:Timer>
<br />
<span style="font-size: 9pt">试题说明
<br />
<br />
1、不允许使用数据库,所有数据必须在后台生成。<br />
2、股票原始单价为1元,交易量在0-999999之间。<br />
3、涨幅在正负10%,且涨幅可以累加。比如原始单价为1元,第一刷新时上涨10%,此时的单价为1.1,第二次刷新也上涨10%,则此时的单价为1.21。涨、平、跌的概率均为1/3<br />
4、数据刷新时间为5秒。<br />
5、涨幅栏的数据为单次的涨幅。<br />
6、成交价低于0.5时,停止交易20次(即套牢),此行数据显示为灰色。20次交易后重新按原值(1.0)重新上市交易。<br />
7、测试时间为5小时(13:00-18:00)<br />
8、测试结果直接把源文件打包,发送给监考人。<br />
9、分值分布,数据表60分,图形表20分,套牢功能20分。<br />
数据表:初始化成功无错误10分,走势与涨跌10分,涨幅20分,成交价10分,成交金额和成交量10分<br />
图形表:初始化成功10分,图形10分<br />
套牢:套牢功能实现15分,解套5分<br />
<br />
</span>
</div>
</form>
</body>
</html>
如果触发Randm函数间隔时间很短,就有可能造成产生一样的随机数
没有产生相同的随机数啊。
我调试的时候 到这一步
gv.DataSource = dt;
gv.DataBind();
dt里面的值都是不一样的。 页面显示却是一样了。
double zs = rs.NextDouble();
Random rf = new Random();
double zf = rf.Next(0, 1000);
Random rc = new Random();
int zc = rc.Next(0, 999999);你的代码这样写是不行的,
你知不知道什么叫随机种子呀,首先, new Random() 方法必须放在循环外
其次, 你的这几个 new Random() 根本不需要那么多,只需要保留一个Random就可以了,由一个Random对象来产生随机数, 否则你这三个对象产生的对象值都是一样的, 不过是这些值,因为方法不一样,被限制,使得值看起来不一样.然后你不要急着辩解,先照着改完之后,试完再说.
调试的时候,不一样,是因为要判断是否命中断点或是执行语句之间,花的时间太多,导致时间种子不一样了,所以看到数据是不一样的,Random rs = new Random();
Random rf = new Random();
Random rc = new Random();这三个随机数对象,种子都是一样的(因为计算机处理这三条语句所需要的时间差,是Random对象不能识别的,时间差小到被认为是同一时刻,因此他们的种子是一样的),所以他们产生的随机值也是一样的, 这样的三个对象是完全没有意义的,你需要一个就可以了,
以下这样的调用的话, 就不会重复了.Random rand= new Random();
double rd = rand.NextDouble();
double zf = rand.Next(0, 1000);
int zc = rand.Next(0, 999999);
{
DataTable dt = Session["dt"] as DataTable;
Random random = new Random();
foreach ( DataRow dr in dt.Rows )
{
double zs = random.NextDouble();
double zf = random.Next( 0, 1000 );
int zc = random.Next( 0, 999999 );
......