随机函数在C#
这取决于您是否正在寻找一个整数或双。对于整数使用Random.Next(minValue, maxValue):
返回指定范围内的随机数。
请注意,minValue是包含值,但maxValue是独占的。
在指定范围内没有选择随机双数的等价方法。相反,您应该使用NextDouble方法来选择0.0到1.0之间的随机数,然后使用线性变换来扩展,缩小和/或平移范围。
你确定吗?我在VS中编写这段代码,但在随机函数中没有像'Next'这样的子类。 Tnx为您提供帮助 – Amra 2010-11-18 09:42:55
@Eva:这是一个实例方法 - 您需要一个Random对象(例如,您的程序启动时可以创建一个)。 – 2010-11-18 09:45:20
@Eva - 如果这是你正在做的事情,没有静态的Next函数,所以你不能简单地写Random.Next。详情请参阅我的回答。 – 2010-11-18 09:46:20
使用Random类是这样的:
Random rnd = new Random();
rnd.Next(23, 10000);
请确保您只初始化RND对象一次,以确保它真正产生随机值给你。
如果你把这个循环,例如:
for(int i = 0 ; i < 10; i++){
Random rnd = new Random();
var temp = rnd.Next(23, 10000);
}
临时会每次都一样的,因为相同的种子被用于生成RND对象,但这样的:
Random rnd = new Random();
for(int i = 0 ; i < 10; i++){
var temp = rnd.Next(23, 10000);
}
它会产生10个唯一的随机数(但当然,偶然的情况下,两个或更多的数字可能是相等的)
+1,用于解释典型的“随机”问题。 – 2010-11-18 09:43:37
谢谢。如果我想从文本文件中选择一个随机字符串,我该怎么办? – Amra 2010-11-18 09:46:35
@Eva:最简单的方法是从文本文件中读取所有行,记住它们并对它们进行计数,然后根据计数选择一个随机数。 – 2010-11-18 09:49:02
数字应该从范围内统一选择? – 2010-11-18 12:21:10