Jaki jest najlepszy sposób sprawdzenia, czy tylko A ma wartość zerową, czy tylko B jest zerowe? Próbowałam wiele różnych sposobów, aby znaleźć coś, że czuje się czysty, a to, jak zawiłe to ma zdobyć:Jak najlepiej sprawdzić, czy A xor B ma wartość null?
bool CheckForNull(object a, object b)
{
if(a == null && b == null)
{
return false;
}
if(a == null || b == null)
{
return true;
}
return false;
}
Mój najlepszy (i najbardziej oczywiste) wersja:
bool CheckForNull(object a, object b)
{
return a == null && b != null || a != null && b == null;
}
Ale też tego nie lubię. (Pewnie mógłbym dodać nawias ...)
Czy istnieje standardowy sposób robienia tego, czego nigdy się nie nauczyłem?
True musi oceniać do tej samej wartości? Watcha? Kiedy prawda nie jest równa prawdy? – Evorlor
@Evorlor W zależności od języka wszystko, co nie jest zerem, może być prawdziwe (0 jest fałszywe, wszystko inne jest prawdą). Więc jeśli twoja lewa "prawda" to 1, a prawa to 2, xor nie będzie działać zgodnie z oczekiwaniami. –