我在用new Random().Next(3.85,4.82)//这样好像不行。new Random().NextDouble(3.85,4.82)//这样也不行。要怎样能生成呢,对c#不是很了解,请指教一下。

解决方案 »

  1.   

    ((double)new Random().Next(385,482))/100没测试。应该是可以的。总感觉NextDouble不好控制范围,实际编程中怎么没用过。
      

  2.   

    试试这个,借鉴前人的经验,在此一并谢过:
    public static void Main(string[] args)
    {
        IList<float> result = generaterandomfloat(385, 428);    foreach (float v in result)
            Console.WriteLine("{0:0.00}", v);                Console.ReadKey();
    }public static float[] generaterandomfloat(int start, int end)
    {
        System.Diagnostics.Debug.Assert(start < end);    float[] result = Enumerable.Range(start, end - start + 1)
            .Select(x => new { key = Guid.NewGuid(), value = x })
            .OrderBy(o => o.key)
            .Select(h => ((float)h.value) / 100f)
            .ToArray();    return result;
    }