Когда я сначала ушел, как писать программы, я использовал C. (очень простые приложения командной строки) На обоих языках вы используете! - оператор обычно выглядит следующим образом:
if(!true){
//false..
}
Я хотел сделать некоторую битовую маскировку в С#, и я задавался вопросом о "~" операторе.
Теперь я немного смущен, потому что в своем собственном понимании! и ~ должен делать то же самое.
Это работает в С#:
int i = ~0xffffffff; // i = 0
bool j = !true; // j = false
Это не так: (Но он работает в c и делает именно то, что я ожидал)
int i = !0xffffffff; // i = 0
Итак, что такое различие между ~ и! и почему они отделили их?