Tag: 随机

用于C#的快速线程安全随机数发生器

我需要在多个正在运行的线程中快速生成随机浮点数。 我尝试过使用System.Random ,但它对我的需求来说太慢了,它在多个线程中返回相同的数字。 (当我在一个线程中运行我的应用程序时,它工作正常。)另外,我需要确保生成的数字在0到100之间。 这就是我现在正在尝试的事情: number = random.NextDouble() * 100; 我该怎么办呢?

随机化一个字符串

我是C#的新手,所以不要因为我的愚蠢而责备我。 我正在研究一个应该随机化一个单词并给它长度的应用程序,例如你写一个单词“Line”,它会给你“iLen”。 目前我确信只有这部分有效: private void lenght_Click(object sender, EventArgs e) { String word = textBox1.Text; int x = word.Length; MessageBox.Show(x.ToString()); } private void randomize_Click(object sender, EventArgs e) { String word = textBox1.Text; int x = word.Length; } 我尝试了很多,但大部分只是崩溃了应用程序,所以此刻我想知道Text.ToCharArray做了什么,我希望得到额外的支持。 所以我只需要一个方法,使你的字符串随机化,它给你另一个字符串只有mashed / randomized字符。 现在我将留下5到7个小时的问题以获得更多的答案,我将对它们进行全面审查,并对工作人员进行回复。 谢谢你的支持! 我已经阅读了你所有的评论但我已经很晚了很抱歉,现在是时候检查一切了。

C#猜猜随机数

我将标识符更改为英语,因此可以在Code Review上轻松理解。 我使用了重构,因此它会立即改变,但是当它出错时。 我的代码不再起作用了。 但是代码没有完成。 我仍然需要找到一种方法再次发挥。 我在这做错了什么? 目标: 创建一个控制台应用程序,您需要猜测随机生成的数字介于1和100之间。当您的猜测低于生成的数字时,它会说更高。 如果它高于生成的数字,它会说更低。 检查代码中的注释。 public static void Main(string[] args) { const int STOPVALUE = 0; int inputNumber, count = 0; Random generator = new Random(); int gameNumber = generator.Next(1, 100); //I output the game number to see beforehand want the winning number is. //The generator is doing it’s […]

如果数字与前一个匹配,则生成一个随机数

我想创建一个随机数字,前面有一个文本,我不希望系统显示两次数字。 所以,这就是我做的方式: Random _rand = new Random(); private void RandomNumberGenerator() { int random = _rand.Next(10000); string text = “TP0” + random; if (random.Equals(random)) { _rand.Next(); } else { random = _rand.Next(10000); } MessageBox.Show(text); } 我没有得到任何显示的数字两次(但我不太确定,因为我只是关闭程序,直到它显示数字5次(所有这些都不是相同的数字)。 从上面的代码可以有机会两次显示数字吗? 谢谢。

如何在不重复数字的情况下使这段代码工作?

我需要以随机顺序打印1到50之间的数字而不重复它。 static void Main(string[] args) { ArrayList r = new ArrayList(); Random ran = new Random(); for (int i = 0; i < 50; i++) { r.Add(ran.Next(1,51)); } for (int i = 0; i < 50; i++) Console.WriteLine(r[i]); Console.ReadKey(); }

从SQL Server表中选择唯一的随机行,但始终重复

我不是最好的sql但我尽我所能来完成我的问题。 我有一个表“just”,其中填充了列(ID(PK,Identity),Char,Serv,Random)。 现在我想从该表中选择一个随机行并将其插入表“f_WinGet”。 到目前为止,我的所有程序都采用了这一步,但我总是在第二个表中获得Duplicates。 第一个表:84行第二个表:84个随机需要35个。 我尝试了很多其他方法,但我总能得到相同的结果。 我的所有随机程序都绑定到Button ia C#Programm。 到目前为止一切正常,但我的表中总是有一些重复的行。 INSERT INTO f_TWinGet SELECT TOP 1 Percent Char, Serv, Random FROM ( select distinct Char, Serv, Random from dbo.just) as derived1 ORDER BY CHECKSUM(NEWID()) 如果有人有一个想法我怎么能解决我的问题,这将是很好的。 我还在努力,但我得到的所有结果都是一样的。

有效地生成随机数

你如何有效地生成随机数? 每次随机数程序启动时,它都会像以前一样开始吐出相同的数字。 (我猜是因为随机数生成的准性质) 有没有办法,随机#生成变得不确定? 除了生成之外,引入后生成的数字与最后一个序列的顺序不同。 (随机随机而非准随机) 此外,例如,这种生成的范围是(m,n)使得nm = x,在生成x-1个其他数之后,有可能下次出现数字’p’。 但是接下来很多这样的x数字与最后一个数字的序列不同。 例: 范围:1,5。 代:2,4,5,1,3(第一)4,2,3,1,5(第二)……相同的数字。 我出于困惑的心态写下了这个: int num1 = (rand.Next(1, 440) *31* (int)DateTime.Now.Ticks *59* (DateTime.Now.Second * 100) % 439) + 1; int num2 = (rand.Next(1, 440) *31* (int)DateTime.Now.Ticks *59* (DateTime.Now.Second * 100) % 439) + 1; 这里的范围是(1,440)。 但是它仍然会产生超出界限和零的数字,而且它的频率也不是那么好。 它是C#.NET代码。 为什么这样? 你的答案可以是语言不可知/算法/分析。 提前致谢。

“new Random(x)”总是生成相同的数字?

我想获得一个唯一的随机数,但每次运行代码时我都会得到相同的数字。 我将首先得到14然后6但我保留所有使用的数字的列表似乎不起作用。添加14手动工作,但当我添加randInt它不起作用。 const int numCards = 32; List usedCards = new List(); int randInt = 0; Random rand = new Random(numCards); usedCards.Add(14); do { randInt = rand.Next(0, numCards); MessageBox.Show(randInt.ToString(), “End Game”, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } while (usedCards.Contains(randInt)); usedCards.Add(randInt);

方法string.Replace()不起作用

public string Generate() { RandomNumberGenerator rdng = new RNGCryptoServiceProvider(); byte[] bytes = new byte[40]; rdng.GetBytes(bytes); string a = Convert.ToBase64String(bytes); a.Replace(“=”, “r”); a.Replace(“+”, “t”); return a; } a=43TvtRvrTrt54g5gtbrTTBR45iu+zqbB03gXej== ; 在a.Replace()之后: a=43TvtRvrTrt54g5gtbrTTBR45iu+zqbB03gXej== ; 我想在我的C#项目中生成独特的价值。 一切都很棒。 但是当我想调用string.Replace() ,它不起作用。 此方法之前和之后的值相同。 为什么?

从集合中随机返回项目

我有一个从数据库返回通用列表集合(List)的方法。 此系列包含订单详细信息,即订单ID,订单名称,产品详细信息等。 此外,该方法返回一个集合,该集合仅包含按订单日期降序排序的前5个订单。 我的要求是每次客户端调用此方法时,我需要返回有5个随机命令的集合。 我如何使用C#实现这一目标?