什么是“;非静态字段、方法或属性需要对象引用';Random.Next(int,int)';意思是

本文关键字:int 意思是 对象引用 Random Next 静态 字段 属性 方法 什么 | 更新日期: 2023-09-27 18:19:42

我遇到的问题是Visual studio在代码"Random.Next(1,10);"下抛出了一个错误,上面写着:

"非静态字段、方法或property"Random.Next(int,int)"

所以,我用类似的短语查看了其他问题的答案。在Stack Overflow上的这些例子中,大多数建议都说需要简单地将方法或类设置为静态。我在这段代码中尝试了所有这些组合,但它并没有修复Visual Studio中的错误。

感谢您的帮助。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Data_Collector_Course_Assignment
{
    public class Device
    {
        // Returns a randoom integer between 1 and 10 as a measurement of an 
           imaginary object
        public int GetMeasurement()
        {
            int randomInt = Random.Next(1,10);
            return randomInt;
        }
    }
}

什么是“;非静态字段、方法或属性需要对象引用';Random.Next(int,int)';意思是

这意味着Next是一个实例方法(而不是static)。您需要一个Random的实例来使用它:

public int GetMeasurement()
{
    Random rand = new Random();
    int randomInt = rand.Next(1,10);
    return randomInt;
}

或者,更短:

public int GetMeasurement()
{        
    int randomInt = new Random().Next(1,10);
    return randomInt;
}