c# - 类方法中的随机数生成器

标签 c# class random non-static

这是类类内部方法的一部分。我的目标是生成一个随机数,该数字将存储在一个名为 iCell 的变量中。之后,iCell 将用于 switch 语句以更改字符、单元格。我从 iCell = Random.Next(1,9); 行收到一个错误,上面写着“错误,非静态字段、方法或属性‘System. Random.Next(int, int)'”。类方法中不能有随机数生成器吗?

 public void CPUMove() //method marks cell for CPU
    char cell;
    int iCell;
    Random rand = new Random();
    iCell = Random.Next(1, 9);
    switch (iCell)
    {
        case 1:
            cell = '1';
        break;
        case 2:
            cell = '2';
        break;
        case 3:
            cell = '3';
        break;
        case 4:
            cell = '4';
        break;
        case 5:
            cell = '5';
        break;
        case 6:
            cell = '6';
        break;
        case 7:
            cell = '7';
        break;
        case 8:
            cell = '8';
        break;
        case 9:
            cell = '9';
        break;
    }

最佳答案

iCell = rand.Next(1, 9);

使用您已经创建的对象。

请注意,您应该在您的程序中创建此Random 实例一次。也许您可以将其设为类变量,甚至是静态类变量。

关于c# - 类方法中的随机数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22709389/

相关文章:

c# - 存储库模式是否遵循 SOLID 原则?

c# - 在 Asp.net MVC 中出现类似 "Object reference is not set to Reference of the Object"的错误

java - 从类的一部分获取字符串到另一部分

c++ - 为什么在函数中声明类时要使用 const 和 &?

arrays - 从数组中随机选择一个 SpriteNode?

c# - 进行 HTTP 隧道时如何保持连接打开

c# - 带有 Mono 的自定义函数 SQLite

java - 如何更新第二堂课中的变量totalCost

python - numpy.random.choice 替换是否等同于单次试验的多项式抽样?

MySQL 需要在 20 年到 90 年之间的列中添加随机日期