& & Operátor (C#-Reference)
Podmíněný- A operátor (&&) provádí logické- A jeho bool operandy, ale pouze vyhodnocuje jeho druhým operandem, pokud je to nezbytné.
Poznámky
Operace
x && y
odpovídá operace
x & y
s výjimkou, že pokud x je false, y není vyhodnocena, protože je výsledek operace a false bez ohledu na to, jaké hodnoty y je.To je známé jako "zkratové" hodnocení.
Podmíněný- A operátor nemůže být přetížené, ale přetížení pravidelné logické operátory a operátory true a false , s určitými omezeními pokládají přetížení podmíněné logické operátory.
Příklad
V následujícím příkladu podmíněný výraz v druhé if příkaz vyhodnocuje prvním operandem, protože operand vrátí false.
class LogicalAnd
{
static void Main()
{
// Each method displays a message and returns a Boolean value.
// Method1 returns false and Method2 returns true. When & is used,
// both methods are called.
Console.WriteLine("Regular AND:");
if (Method1() & Method2())
Console.WriteLine("Both methods returned true.");
else
Console.WriteLine("At least one of the methods returned false.");
// When && is used, after Method1 returns false, Method2 is
// not called.
Console.WriteLine("\nShort-circuit AND:");
if (Method1() && Method2())
Console.WriteLine("Both methods returned true.");
else
Console.WriteLine("At least one of the methods returned false.");
}
static bool Method1()
{
Console.WriteLine("Method1 called.");
return false;
}
static bool Method2()
{
Console.WriteLine("Method2 called.");
return true;
}
}
// Output:
// Regular AND:
// Method1 called.
// Method2 called.
// At least one of the methods returned false.
// Short-circuit AND:
// Method1 called.
// At least one of the methods returned false.
Specifikace jazyka C#
Další informace naleznete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.