yms: (Default)
[personal profile] yms
(вычисления в окне Immediate)

-1==-1
true
-1==0xffffffffu
false
(uint)-1==0xffffffffu
true
1==1u
true

Date: 2008-09-23 03:08 pm (UTC)
From: [identity profile] yms.livejournal.com
Ну, в Си, где второе имеет место быть, как-то более естественно и ожидаемо. А тут имеет место быть забавная штука: в случае обоих "интов" вызывается метод int.Equals(int), в прочих случаях - int.Equals(object), который возвращает false для всех не-intов. А при 1==1u крмпилятор, возможно, делает неявный typecast, и на самом деле вызывается uint.Equals(uint).
Edited Date: 2008-09-23 03:08 pm (UTC)

Profile

yms: (Default)
Michael Yutsis

March 2022

S M T W T F S
  12 345
678910 1112
13141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 24th, 2026 04:02 am
Powered by Dreamwidth Studios