This is an operator that the language uses to validate that two values are the same. When your code would be compiled this operator would be compiled appropriately in CIL and then when we will be executed by the CLR the two values would be compared to be checked if they are the same.
For instance, this is the CIL code for the Main
method:
that the compiler produces for the following program (it's a console application):
class Program
{
static void Main(string[] args)
{
int a = 3;
int b = 4;
bool areEqual = a == b;
Console.WriteLine(areEqual);
}
}
Note the IL_0007 line. There a ceq
instruction has been emitted. This is that you are looking for, the ==
operator.
Important Note
This is happening when the ==
is not overloaded.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…