簡體   English   中英

“非靜態字段需要對象引用”

[英]"Object Reference is required for non-static field"

所以我需要為我的掃雷項目制作一個隨機數生成器,我決定把它放在一個方法中。

public static void GenerateBombs(int gsize, int numbombs, HashSet<int> numbers)
    {
        int num = gsize * gsize;
        while (numbers.Count < numbombs)
        {
            numbers.Add(Random.Next(1, num));
        }
    }

但是,我不斷收到“非靜態字段、屬性或方法所需的對象引用”。 我不知道為什么,我無法從其他問題中弄清楚。

這樣做:

private static Random rand = new Random();

public static void GenerateBombs(int gsize, int numbombs, HashSet<int> numbers)
{
    int num = gsize * gsize;
    while (numbers.Count < numbombs)
    {
        numbers.Add(rand.Next(1, num));
    }
}

class RandomNext()方法不是 static 方法。 您必須先聲明一個 class Random的實例:

static Random random = new Random();

那么您可以將其用作numbers.Add(random.Next(1, num)) ,現在使用 class 的 static 實例而不是 class 本身。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM