Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error: returns void, a return keyword must not be followed by an object expression

Tags:

c#

return

I have created an arraylist that allows me generate randomly between 1-70 but noticed my numbers where somewhat repeating.

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
 }

I noticed I was getting an error message below:

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?

like image 567
Zayn Avatar asked Nov 23 '25 02:11

Zayn


1 Answers

Your method signature is:

private void QuestionAnswer_Load(object sender, EventArgs e)

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

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.

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/.

like image 162
Kache Avatar answered Nov 25 '25 14:11

Kache



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!