Mi-am adus aminte de o experienta nefericita pe care am avuto la începutului anului cu operatorii logici. Era nevoie să fac debug pe un OR logic intre un ulong si un int . int sursa1; ulong sursa2; Init(sursa1,sursa2); ulong stare=sursa2 | sursa1; Din pacate nu puteam sa folosesc enum. Era o aplicație vechie, care a fost portata de cineva in C# si era plina de erori de compilare. Nimeni nu cunoștea exact care sunt stariile in care se poate ajunge variabila stare si ce înseamnă fiecare stare. Prima problema pe care o aveam era ca linia de cod care facea OR logic, codul nu compila deloc din cauza ca cele doua date( sursa1 si sursa2) erau de tipuri diferite. Eroarea pe care o primeam era " Operator | cannot be applied to operands of type int and ulong. ". Era normal sa avem aceasta eroare, deoarece sursa2 era strict pozitiva, in comparație cu sursa1 care era o variabila cu semn(+/-). Nici o problema am zis: ulong stare= sursa2 | (ulong) sursa1; Codul a compilat, aveam un warn...
DREAMER, CRAFTER, TECHNOLOGY ENTHUSIAST, SPEAKER, TRAINER, AZURE MVP, SOLVING HARD BUSINESS PROBLEMS WITH CUTTING-EDGE TECHNOLOGY