private   int aa;  
public    int aaa
{
   get { return aa&0xFFFF;}
   set { }
}public int aaaa
{
    get { return (int)(aa& 0xFFFF0000) >> 16; } 
    set { }          
}set里面怎样写?

解决方案 »

  1.   

    public    int aaa 

       get { return aa&0xFFFF;} 
       set 
    {
    int bi1=value;
    aa=bi1&FFFF; } public int aaaa 

        get { return (int)(aa& 0xFFFF0000) >> 16; }  
        set 
    {
    int bi1=value;
    aa=bi1&FFFF0000;
     }           

    }
      

  2.   


    public    int aaa  
    {  
       get { return aa&0xFFFF;}  
       set  

    int bi1=value &0xffff; 
    aa&=0xffff0000;
    aa+=bi1; }  public int aaaa  
    {  
        get { return (int)(aa& 0xFFFF0000) >> 16; }   
        set  

    int bi1=value&0xFFFF0000; 
    aa&=0xffff;
    aa+=bi1; 
     }            
    }  
    }
      

  3.   

    参考如下代码:private int aa;
    public int aaLow
    {
        get { return aa & 0xFFFF; }
        set { aa |= 0xFFFF & value; }
    }public int aaHigh
    {
        get { return (int)(aa & 0xFFFF0000) >> 16; }
        set { aa |= (int)(0xFFFF0000 & value << 16); }

    private void button3_Click(object sender, EventArgs e)
    {  
        aa = 0x12345678;
        Console.WriteLine("0x{0:X}", aa);
        aaLow = 0xFFFF;
        Console.WriteLine("0x{0:X}", aa);
        aaHigh = 0xFFFF;
        Console.WriteLine("0x{0:X}", aa);
    }
      

  4.   


    set { aa |= 0xFFFF & value; }用按位OR对吗?value=101;
    aa=010;
    OR 111?这样的结果没有达到赋值的目的吧?