Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Logical Operators | Control Structures
C# Basics

book
Logical Operators

Logical operators can be used for combining two logical expressions or logical values. Following are the three logical operators:

Note

An operand refers to a value or expression that is used as an input for an operator in a statement or expression. For example in the expression 1 + 2, the values 1 and 2 are operands. In the case of logical operators, an operand is always a boolean expression or value.

You can see the usage of these operands in the examples below:

Let's now use them in practice:

The AND (&&) operator takes two operands and returns true only if both the operands are true. It is demonstrated by the following code:

cs

main

copy
using System;

namespace ConsoleApp
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(true && true); // Output: True
Console.WriteLine(true && false); // Output: False
Console.WriteLine(false && true); // Output: False
Console.WriteLine(false && false); // Output: False
}
}
}
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { Console.WriteLine(true && true); // Output: True Console.WriteLine(true && false); // Output: False Console.WriteLine(false && true); // Output: False Console.WriteLine(false && false); // Output: False } } }

Instead of directly using the true and false literals (values), we commonly use expressions:

cs

main

copy
using System;

namespace ConsoleApp
{
internal class Program
{
static void Main(string[] args)
{
/* A program to check if the variable `value`
is in the range specified by `range_start`
and `range_end` variables.*/
int value = 7;
int range_start = 0;
int range_end = 10;
Console.WriteLine(range_start < value && value < range_end); // Output: True
}
}
}
123456789101112131415161718
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { /* A program to check if the variable `value` is in the range specified by `range_start` and `range_end` variables.*/ int value = 7; int range_start = 0; int range_end = 10; Console.WriteLine(range_start < value && value < range_end); // Output: True } } }

The OR (||) operator returns true if any one of the operands is true:

cs

main

copy
using System;

namespace ConsoleApp
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(true || true); // Output: True
Console.WriteLine(true || false); // Output: True
Console.WriteLine(false || true); // Output: True
Console.WriteLine(false || false); // Output: False
}
}
}
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { Console.WriteLine(true || true); // Output: True Console.WriteLine(true || false); // Output: True Console.WriteLine(false || true); // Output: True Console.WriteLine(false || false); // Output: False } } }

Following is an example which uses the OR (||) operator:

cs

main

copy
using System;

namespace ConsoleApp
{
internal class Program
{
static void Main(string[] args)
{
int val1 = 5;
int val2 = 7;
int val3 = 9;

Console.WriteLine(val2 > val1 || val2 > val3); // Output: True
}
}
}
12345678910111213141516
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int val1 = 5; int val2 = 7; int val3 = 9; Console.WriteLine(val2 > val1 || val2 > val3); // Output: True } } }

The NOT (!) operator simply negates (inverts) the logical expression or logical value. So if an expression returns true, it changes it into false.

cs

main

copy
using System;

namespace ConsoleApp
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(!true); // Output: False
Console.WriteLine(!false); // Output: True

// We need to enclose expressions in brackets () before negating them
Console.WriteLine(!(5 < 0)); // Output: True
Console.WriteLine(!(0 < 5 && 5 < 10)); // Output: False
}
}
}
1234567891011121314151617
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { Console.WriteLine(!true); // Output: False Console.WriteLine(!false); // Output: True // We need to enclose expressions in brackets () before negating them Console.WriteLine(!(5 < 0)); // Output: True Console.WriteLine(!(0 < 5 && 5 < 10)); // Output: False } } }
question mark

What is the expression (0 < 5 || 5 < 10) equal to?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2

Kysy tekoälyä

expand
ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

We use cookies to make your experience better!
some-alt