I am working on code that takes as input a ton of ascii text defined by specific protocol. The original author interpreted \"string(1)\" datatypes in the original protocol
No, the behavior allowing the expression theChar == 7 is part of the C# specification, and can't be changed.
Note that the actual implicit conversion here is from char to int, not from int to char.
Here's how it works:
7 has type int.theChar has type char.== operator to the two expressions, the compiler must choose an == operator.
== operator that takes a char as the first argument and an int as the second.int to char (because such a conversion can lose information).char to int.char expression to int, and uses the == operator that takes two ints.