Error 1 Operator '*' cannot be applied to operands of type 'method group' and 'double'

前端 未结 5 1782
难免孤独
难免孤独 2021-01-25 19:11

I believe what i am trying to do is very simple but I get the error. Operator \'*\' cannot be applied to operands of type \'method group\' and \'double\'

I want to mult

相关标签:
5条回答
  • 2021-01-25 19:16

    You are missing the paranthesis from your function call to dayrental, which is causing the compiler to think you are refering to the method itself rather than the result of a call to that method.

    rental = dayrental * 19.95;
    

    should be

    rental = dayrental() * 19.95;
    
    0 讨论(0)
  • 2021-01-25 19:21

    your syntax is just a little off (missing parentheses after function call and no return type specified for your function).

    if (checkBox1.Checked == true)
        rental = dayrental() * 19.95;
    
    public double dayrental()
    {
        var timeSpan = dateTimePicker2.Value - dateTimePicker1.Value;
        return (double) timeSpan.Days;
    }
    
    0 讨论(0)
  • 2021-01-25 19:26

    dayrental is a function that return void.

    it has no value and you cannot multiply it by 19

    0 讨论(0)
  • 2021-01-25 19:26

    In c# a methodcall is always denoted by a pair of braces, while the method itself is addressed by it's name. So dayrental() is the returnvalue of dayrental, while dayrental is the method dayrental. Therefore you are multiplying the method dayrental with the with 19.95 which obviously fails. What you are trying to do is:

    rental = dayrental() * 19.95;
    

    Also dayrental returns void so youm ight want to change it to

     public double dayrental()
    

    and return some value.

    0 讨论(0)
  • 2021-01-25 19:43

    Do this:

    private void button1_Click(object sender, EventArgs e)
    {
        double rental;
    
        var dayRental = dayrental();
    
        if(checkBox1.Checked == true)
           rental = dayrental * 19.95;
    
        label4.Text = Convert.ToString(rental);  
    }
    
    private void label4_Click(object sender, EventArgs e)
    {
    
    }
    
    public int dayrental()
    {
         var timeSpan = dateTimePicker2.Value - dateTimePicker1.Value;
    
         var rentalDays = timeSpan.Days;                      
    
         return rentalDays;
    }
    
    0 讨论(0)
提交回复
热议问题