Addition of int and uint

前端 未结 6 1077
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-06 09:30

I\'m surprised by C# compiler behavior in the following example:

int i = 1024;
uint x = 2048;
x = x+i;     // A error CS0266: Cannot implicitly convert type          


        
6条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-06 10:04

    i        int i = 1024;
    uint x = 2048;
    // Technique #1
        x = x + Convert.ToUInt32(i);    
    // Technique #2
        x = x + checked((uint)i);
    // Technique #3
        x = x + unchecked((uint) i);
    // Technique #4
        x = x + (uint)i;
    

提交回复
热议问题