C# Error CS0019 – Operator ‘{0}’ cannot be applied to operands of type ‘{1}’ and ‘{2}’

C# Compiler Error Message

Operator ‘{0}’ cannot be applied to operands of type ‘{1}’ and ‘{2}’

Reason for the Error

You would usually get this error when you are using an operator that doesn’t support a specific data type. Below are some of the cases when you will receive this error.

  • When you use bool and think, it works as integer.
public class Hello {
    public static void Main() {
            bool input = true;
            if (input > 0) // This Line results in cs0019 error.
            {
                // Do something.
            }
    }
}

Error CS0019 Operator ‘>’ cannot be applied to operands of type ‘bool’ and ‘int’ ConsoleApp1 C:\Users\Senthil\source\repos\ConsoleApp1\ConsoleApp1\Program.cs 6 Active

  • When you compare an int with boolean
namespace ClassLibrary
{
    public class DeveloperPublish
    {
        public static void Main()
        {
            int input = 1;
            if (input == true)
            {
            }
        }
    }
}

You will receive the below error.

Error CS0019 Operator ‘==’ cannot be applied to operands of type ‘int’ and ‘bool’ ConsoleApp1 C:\Users\Senthil\source\repos\ConsoleApp1\ConsoleApp1\Program.cs 8 Active

Some of the Other common scenarios that would result with this error includes

  • When you use || operator on strings
  • When you use +,- on boolean.
  • When you use == with structs

Solution

To fix the error, ensure that you revisit the logic and ensure that the right operator is used for the operands in your .NET application.

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Hey, wait!Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.