Witam, chciałbym wiedzieć dlaczego przy użyciu operatora || (lub) przy uruchomieniu wypisuje to samo co przy użyciu operatora &&.
class Program
{
static void Main(string[] args)
{
for (int i = -100; i < 101; i++)
{
if (i % 4 != 0 || i % 8 == 0 || i % 10 == 0) continue;
Console.Write("{0}, ", i);
}
Console.WriteLine("\n\n");
for (int i = -100; i < 101; i++)
{
if (i % 4 == 0 && i % 8 != 0 && i % 10 != 0) Console.Write("{0}, ", i);
}
Console.ReadKey();
}
Z tego co rozumiem, jeśli użyję operatora || to i wejdzie w ifa jeśli dowolny warunek będzie prawdą, no ale już dla i % 4 != 0 nie jest prawdą a wypisuje liczby tj. 4, 12, 28 itp, nie wypisując właśnie tych podzielnych przez 8.
Jak ustawiłem takie warunki jak w drugim ifie, to w pierwszym ifie nie wypisywało nic :( Mógłby ktoś to wytłumaczyć?