错误:返回 void,返回关键字后不能跟对象表达式 [英] Error: returns void, a return keyword must not be followed by an object expression

查看:39
本文介绍了错误:返回 void,返回关键字后不能跟对象表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

    private void QuestionAnswer_Load(object sender, EventArgs e)
    {

        txtQuestion.Enabled = false;
        txtQuestion.BackColor = Color.White;
        grpMultipleChoice.Enabled = false;
        grpSingleChoice.Enabled = false;

        btnCheckAnswer.Enabled = false;
        btnNext.Enabled = false;
        btnQuit.Enabled = false;

        //force student to enter registration details
        if (txtStudentName.Text == "" && txtStudentNumber.Text == "" && txtModuleNumber.Text == "")
        {
            btnStart.Enabled = false;
            MessageBox.Show("You must enter your registration details at the upper right corner");
        }

        //declare a list
        lstNumbers = new ArrayList();

        //create a random number generator
        Random rndNumber = new Random();

        //generate 70 random numbers
        //int number = (int)(rndNumber.NextDouble() * 69) + 1;

        //lstNumbers.Add(number);
        ///use this counter to loop whenever a number is generated
        int count = 0;
        int maximumNumber = 69;

        ///disable answer button 
        btnCheckAnswer.Enabled = false;
        do
        {

            int number = (int)(rndNumber.NextDouble() * maximumNumber) + 1;
            lstNumbers.Add(number);
            if (!lstNumbers.Contains(number))
            {
                lstNumbers.Add(number);
            }
            count++;

        } while (count <= 15 * 70);//
        btnCheckAnswer_Click(sender, e);
        return lstNumbers;//returns once list is built
     }

说明:我创建了一个数组列表,它允许我在 1-70 之间随机生成但注意到我的数字有些重复.为了防止这种情况,我注意到我得到了一个下面的错误信息:

Explanation: I have created an arraylist that allows me generate randomly between 1-70 but noticed my numbers where somewhat repeating. In a bid to prevent this, i noticed i was getting an error message below:

错误 1 ​​由于 'wwTestAppV1.GenKnow.QuestionAnswer_Load(object, System.EventArgs)' 返回 void,返回关键字后不能跟对象表达式

Error 1 Since 'wwTestAppV1.GenKnow.QuestionAnswer_Load(object, System.EventArgs)' returns void, a return keyword must not be followed by an object expression

我已经尽我所能来解决这个问题.当我删除它时程序运行良好语句但显示重复值.你能帮忙吗?

i have tried everything i can to resolve this.the program runs well when i remove this statement but shows duplicate values. Could you please help?

推荐答案

你的方法签名是:

private void QuestionAnswer_Load(object sender, EventArgs e)

返回类型 void 意味着你不能/不打算返回任何东西.但是,在底部,您有:

The return type void means you can't/aren't planning to return anything. However, at the bottom, you have:

return lstNumbers;//returns once list is built

你正在返回一些东西!编译器抱怨你告诉它冲突的指令.将返回类型更改为 ArrayList 或不返回任何内容.

You're returning something! The compiler is complaining that you told it conflicting instructions. Either change the return type to ArrayList or do not return anything.

话虽如此,可以对代码进行一些改进以使其更具可读性,这也将帮助您破译问题.考虑将您的代码提交到 https://codereview.stackexchange.com/.

That being said, there are several improvements that could be made to the code to make it more readable, which will help you decipher problems, too. Consider submitting your code to https://codereview.stackexchange.com/.

这篇关于错误:返回 void,返回关键字后不能跟对象表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆