繁体   English   中英

返回随机数2值(最小值最大值)c#

[英]Return random number 2 value (min max) c#

我需要你的帮助。 我想显示两个不同的url参数值之间的随机数。

这是代码。 没用

public class RandomIntController : ApiController
{
    public double Get()
    {
        double min = Request.QueryString("min");
        double max = Request.QueryString("max");
        min = 1;
        max = 100;

        Random number = new Random();
        return number.NextDouble();
    }
}

因此,例如,来宾会插入以下网址:• http:// localhost:51832 / api / randomint?min = 12&max = 23

我的网络API必须显示介于最大值(23)和最小值(12)之间的随机数。

我的属性'resquest.queryString()'也有几个错误:/

请求查询错误

我没有发现我的错误,请帮助我

非常感谢

int min = (int)Request.QueryString["min"];
int max = (int)Request.QueryString["max"];
Random number = new Random();
return number.Next(min, max);

QueryString是一个键值对,而不是方法。 使用[]代替() 还将代码中的minmax作为参数传递给Next方法。

不知道您是否真的需要一个包含小数部分的“ double”(例如12.443)。 如果需要,可以完成。 但是考虑一下整数:

  public int Get()
  {
      string minStr = Request.QueryString.Get("min");
      string maxStr = Request.QueryString.Get("max");


      int min = int.Parse(minStr);
      int max = int.Parse(maxStr);

      Random number = new Random();
      int value = number.Next(min, max);
      return value;
  }

如果您有一个double maxdouble min并且想要生成一个[min,max)范围内的随机数:

Random rng = new Random(); // Declare this once somewhere - don't keep redeclaring it!
double value = min + rng.NextDouble()*(max - min);

请注意,由此产生的随机数将不包括max [max,min)定义一个半开间隔。

如果您不希望加倍,请查看Imad提供的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM