"非静态字段,方法或属性' Random.Next(int,int)'是否需要对象引用?意思?

时间:2015-10-28 01:40:25

标签: c# random

我遇到的问题是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;
        }
    }
}

1 个答案:

答案 0 :(得分:3)

这意味着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;
}