Calcule o valor da seguinte expressão:
[''] == false
Primeiro, os dois operandos são do tipo de objeto e tipo booleano. De acordo com a Figura 1, é necessário converter o tipo booleano em um tipo numérico, e o resultado da conversão falsa em um numérico é 0, então a expressão se torna:
[''] == 0
Os dois operandos se tornam tipo de objeto e tipo numérico. De acordo com a Figura 1, o tipo de objeto precisa ser convertido para o tipo original:
Primeiro, ligue para [] .Valueof (). Como o método ValueOf () da matriz retorna, o resultado não é o tipo original. Continue chamando [] .ToString ().
Para matrizes, o algoritmo do método tostring () é converter cada elemento em um tipo de string e, em seguida, concatená -lo em sequência com vírgulas ',', então o resultado final é uma sequência vazia ', que é um valor do tipo original.
Neste ponto, a expressão se torna:
'' == 0
Os dois operandos se tornam tipos de string e tipos numéricos. De acordo com a Figura 1, é necessário converter o tipo de string em um tipo de número. Como mencionado anteriormente, a sequência vazia se torna um número de 0. Portanto, a expressão se torna:
0 == 0
Até agora, os tipos dos dois operando são finalmente os mesmos, e o resultado é obviamente verdadeiro.