每一个人,我正在开发一个小应用程序,所有问题都随机出现。
我使用默认的random
方法来获取随机数据,但它提供了两次重复的行。所以我需要的是将不同的行放入数据表中。
我正在使用以下方法获取随机记录......
Random rDom = new Random();
dtRandom = dt.Clone();
int rw = 0;
for (int ctr = 1; ctr <= dt.Rows.Count; ctr++)
{
rw = rDom.Next(1, dt.Rows.Count);
dtRandom.ImportRow(dt.Rows[rw]);
}
dtRandom.AcceptChanges();
那么,我怎样才能从数据表中获得不同的记录?
答案 0 :(得分:1)
如您所知,随机数生成可能会多次生成相同的数字。如果存在唯一的代理键/主键,则在将其导入数据表之前检查是否存在导入的行。否则,您可以使用此方法从最终的DataTable中获取不同的值:
DataTable distinctTable = new DataView(dtRandom).ToTable(
true, new string[] { "column1", "column2", "etc." });
答案 1 :(得分:-3)
您需要保留相同的Random
对象。
将它作为静态成员放在静态方法之外
private static Random rand = new Random();
public static int rInt(int exclUB, int incLB = 0)
{
int t = rand.Next(incLB, exclUB);
return t;
}
详细