using static System.Console;
public class Program {
public static void Main() {
var x = 1;
var y = 2;
var a = x & y;
var b = x == 1;
var c = y == 2;
var d = x & y;
var e = (x & y) == 0;
WriteLine(a);
WriteLine(d); //note que é um inteiro
WriteLine(e);
//if (x & y) WriteLine("ok"); //não funciona porque if espera um bool e o resultado é int
if (b & c) WriteLine("ok"); else WriteLine(" não ok");
if (Teste(x) & Teste(y)) WriteLine("& - ok"); else WriteLine("&");
if (Teste(x) && Teste(y)) WriteLine("&& - ok"); else WriteLine("&&");
if (Teste(x) | Teste(y)) WriteLine("| - ok"); else WriteLine("|");
if (Teste(x) || Teste(y)) WriteLine("|| - ok"); else WriteLine("||");
if (Teste(y) & Teste(x)) WriteLine("& - ok"); else WriteLine("&");
if (Teste(y) && Teste(x)) WriteLine("&& - ok"); else WriteLine("&&");
if (Teste(y) | Teste(x)) WriteLine("| - ok"); else WriteLine("|");
if (Teste(y) || Teste(x)) WriteLine("|| - ok"); else WriteLine("||");
}
public static bool Teste(int x) {
WriteLine($"Executou {x}");
return x == 2;
}
}
//https://pt.stackoverflow.com/q/190579/101
dXNpbmcgc3RhdGljIFN5c3RlbS5Db25zb2xlOwoJCQkJCQpwdWJsaWMgY2xhc3MgUHJvZ3JhbSB7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpIHsKCQl2YXIgeCA9IDE7CgkJdmFyIHkgPSAyOwoJCXZhciBhID0geCAmIHk7CgkJdmFyIGIgPSB4ID09IDE7CgkJdmFyIGMgPSB5ID09IDI7CgkJdmFyIGQgPSB4ICYgeTsKCQl2YXIgZSA9ICh4ICYgeSkgPT0gMDsKCQlXcml0ZUxpbmUoYSk7CgkJV3JpdGVMaW5lKGQpOyAvL25vdGUgcXVlIMOpIHVtIGludGVpcm8KCQlXcml0ZUxpbmUoZSk7CgkJLy9pZiAoeCAmIHkpIFdyaXRlTGluZSgib2siKTsgLy9uw6NvIGZ1bmNpb25hIHBvcnF1ZSBpZiBlc3BlcmEgdW0gYm9vbCBlIG8gcmVzdWx0YWRvIMOpIGludAoJCWlmIChiICYgYykgV3JpdGVMaW5lKCJvayIpOyBlbHNlIFdyaXRlTGluZSgiIG7Do28gb2siKTsKCQlpZiAoVGVzdGUoeCkgJiBUZXN0ZSh5KSkgV3JpdGVMaW5lKCImICAtIG9rIik7IGVsc2UgV3JpdGVMaW5lKCImIik7CgkJaWYgKFRlc3RlKHgpICYmIFRlc3RlKHkpKSBXcml0ZUxpbmUoIiYmIC0gb2siKTsgZWxzZSBXcml0ZUxpbmUoIiYmIik7CgkJaWYgKFRlc3RlKHgpIHwgVGVzdGUoeSkpIFdyaXRlTGluZSgifCAgLSBvayIpOyBlbHNlIFdyaXRlTGluZSgifCIpOwoJCWlmIChUZXN0ZSh4KSB8fCBUZXN0ZSh5KSkgV3JpdGVMaW5lKCJ8fCAtIG9rIik7IGVsc2UgV3JpdGVMaW5lKCJ8fCIpOwoJCWlmIChUZXN0ZSh5KSAmIFRlc3RlKHgpKSBXcml0ZUxpbmUoIiYgIC0gb2siKTsgZWxzZSBXcml0ZUxpbmUoIiYiKTsKCQlpZiAoVGVzdGUoeSkgJiYgVGVzdGUoeCkpIFdyaXRlTGluZSgiJiYgLSBvayIpOyBlbHNlIFdyaXRlTGluZSgiJiYiKTsKCQlpZiAoVGVzdGUoeSkgfCBUZXN0ZSh4KSkgV3JpdGVMaW5lKCJ8ICAtIG9rIik7IGVsc2UgV3JpdGVMaW5lKCJ8Iik7CgkJaWYgKFRlc3RlKHkpIHx8IFRlc3RlKHgpKSBXcml0ZUxpbmUoInx8IC0gb2siKTsgZWxzZSBXcml0ZUxpbmUoInx8Iik7Cgl9CglwdWJsaWMgc3RhdGljIGJvb2wgVGVzdGUoaW50IHgpIHsKCQlXcml0ZUxpbmUoJCJFeGVjdXRvdSB7eH0iKTsKCQlyZXR1cm4geCA9PSAyOwoJfQp9CgovL2h0dHBzOi8vcHQuc3RhY2tvdmVyZmxvdy5jb20vcS8xOTA1NzkvMTAx