I have code where I get a string as input, and I compare it with an integer.
I saw that integer variable also has an Equals
function that accepts a string parameter.
I have used it directly thinking it will typecast it.
It did not give any compile time or runtime error, but it always gives a false result.
For example,
int sessionId = 1;
string requestId="1"
return sessionId.Equals(requestId);
sessionId.Equals(requestId)
always gives false.
Why is the reason for such behavior? If there is a reason, why are they allowing it run without error?