Hallo Community,
ich habe eine Frage zu meinem Source, den ich aus einem Tutorial habe.
Ich verstehe nicht genau, wo der Unterschied zwischen
und
und das selbe mit
und
liegt.
Ich habe folgenden Source vorliegen:
PHP Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LogischeOperatoren
{
class Program
{
static void Main(string[] args)
{
int x = 8;
int y = 9;
if ((x != y) | TestFunction())
Console.WriteLine("Bedingung ist erfüllt");
Console.ReadLine();
}
static bool TestFunction()
{
Console.WriteLine("Aufruf der TestFunction");
return true;
}
}
}
Wenn ich das Programm durchlaufen lasse, bekomme ich die Ausgabe
Quote:
Aufruf der TestFunction
Bedingung ist erfüllt
|
Wenn ich den Selben Source nun mit
mache bekomme ich folgende Aussage:
PHP Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LogischeOperatoren
{
class Program
{
static void Main(string[] args)
{
int x = 8;
int y = 9;
if ((x != y) || TestFunction())
Console.WriteLine("Bedingung ist erfüllt");
Console.ReadLine();
}
static bool TestFunction()
{
Console.WriteLine("Aufruf der TestFunction");
return true;
}
}
}
Quote:
..Woran liegt das? Ich bin mir nicht sicher, ich schätze mal, dass wenn bei einem Vergleich mit
der erste Operant (x != y) True ist, es vollkommen egal ist , da
dann nurnoch
Quote:
returnen kann.
Aber ich kann mir dann irgendwie keinen Reim mehr auf
machen, also ich verstehe es irgendwie nicht ;(
Wäre lieb wenn ihr mir helfen könntet.
Andy