将随机转换为int visual studio 2015

本文关键字:visual studio 2015 int 随机 转换 | 更新日期: 2023-09-27 18:36:33

为什么这不起作用?它是在Visual studo 2015中,Windows表单应用程序C#

namespace guessing
{
    public partial class Form1 : Form
    {
        Random rnd = new Random();
        int rndm = rnd.Next(1, 13);

RND 下有一个错误,上面写着:

"字段初始值设定项不能引用非静态字段、方法或 属性 'Form1.rnd' "

将随机转换为int visual studio 2015

在 C# 中,语句不能立即出现在类声明下。它们需要成为函数或方法的一部分。

namespace guessing
{
    public partial class Form1 : Form
    {
        void MethodX()
        {
            Random rnd = new Random();
            int rndm = rnd.Next(1, 13);
            /* to be continued... */ 
        }
    }
}

是的,正如Soner Gönül所说,您必须将此代码添加到表单中的方法中。因为您可能使用设计器创建了窗体,所以只需转到事件并创建一个方法created(或类似方法)。然后将代码放入创建的方法的主体中。

试试这个:

namespace guessing
{
    public partial class Form1 : Form
    {
        int rndm = new Random().Next(1, 13);

编辑

回应TomTom:

有很多方法可以解决这个问题。如果需要使Random实例始终可用,请在类级别定义它,就像您已有的那样。

namespace guessing
{
    public partial class Form1 : Form
    {
        Random rand = new Random();
        int rndm = new Random().Next(1, 13);
        // Or make it static.
        static Random rand = new Random();
        int rndm = Form1.rand.Next(1, 13);
        // Or a method
        private int GetRandomInteger()
        {
            return new Random().Next(1, 13);
            // or call your class level instance of Random
        }