当前位置:  开发笔记 > 编程语言 > 正文

在C#2.0中随机分钟

如何解决《在C#2.0中随机分钟》经验,为你挑选了2个好方法。

何我要在数据集中向列中添加随机分钟,这是我的代码:

protected void btnUpdateTable_Click(object sender, EventArgs e)
{ 


    foreach (DataRow dr in ds.Tables[0].Rows)
    {
       ///check if column[logout] is null or empty, fill it
       if(dr.IsNull("logout_time"))
       {
           ///get the login colum datetime
           /// add random datetime to it
           if (!dr.IsNull("login_time"))
           {
               DateTime dt = Convert.ToDateTime(dr["login_time"]);
               dt = dt.AddMinutes(?);/// "?"<--here I want to add random minutes
           }            
       }
    }

任何帮助非常感谢.

谢谢大家的帮助,这是我的最终代码片段:

foreach (DataRow dr in ds.Tables[0].Rows)
    {
       ///check if column[logout] is null or empty, fill it
       if(dr.IsNull("logout_time"))
       {
           ///get the login colum datetime
           /// add random datetime to it
           if (!dr.IsNull("login_time"))
           {
               DateTime dt = Convert.ToDateTime(dr["login_time"]);
               Random rand = new Random();
               //return random.Next(0, 59);
               dt = dt.AddMinutes(rand.Next(0,59));
               dt = dt.AddSeconds(rand.Next(0, 59));
               dr["logout_time"] = dt;

           }

       }
    }

kemiller2002.. 12

你可以用这个:

Random random = new Random();

foreach(DataRow dr ...)
{
   int rand = random.Next(0, 60); 
}

正如评论指出的那样,您不需要为要创建的每个数字创建新的Random对象.(实际上,你可能不应该).



1> kemiller2002..:

你可以用这个:

Random random = new Random();

foreach(DataRow dr ...)
{
   int rand = random.Next(0, 60); 
}

正如评论指出的那样,您不需要为要创建的每个数字创建新的Random对象.(实际上,你可能不应该).


嗯.每次通话都创建一个新的随机?不是一个好主意,因为在压力下它可能最终会使用同一种子两次.不那么随意.
凯文没有说明它是在'foreach'的内部还是外部...让男人休息一下!
当然,但值得加强
@Kevin - 不,`random.Next(0,60)`是正确的.下限是包含的,上限是独占的

2> Daniel F. Th..:

尝试使用Random:

Random randGen = new Random();

foreach (DataRow dr in ds.Tables[0].Rows)
{
   ///check if column[logout] is null or empty, fill it
   if(dr.IsNull("logout_time"))
   {
       ///get the login colum datetime
       /// add random datetime to it
       if (!dr.IsNull("login_time"))
       {
           DateTime dt = Convert.ToDateTime(dr["login_time"]);
           dt = dt.AddMinutes(randGen.Next(0, 60));
           /// "?"<--here I want to add random minutes
       }            
   }
}

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有