none
union RRS feed

  • 問題

  • 小弟想請問假如我有一個byte[2]如何快速解各bit的值到struct,因為C#不像c有union可以去結合struct,每個bit都有其不同命名所以不打算使用bool矩陣,所以小弟目前只想到底下這方法,但如果index高達100個那程式碼會很長不曉得還有其他方式嗎??

            struct s1
            {
              public  bool b00;
              public bool b01;
              public bool b02;
              public bool b03;
              public bool b04;
              public bool b05;
              public bool b06;
              public bool b07;
              public bool b10;
              public bool b11;
              public bool b12;
              public bool b13;
              public bool b14;
              public bool b15;
              public bool b16;
              public bool b17;
            }
            private void button1_Click(object sender, EventArgs e)
            {
                 byte[] a1=new byte[2];
                 s1 a2;
                 a1[0]=5;
                 a1[1] = 10;
                 if ((a1[0] & 1) > 0)
                 {
                     a2.b00 = true;
                 }
                 else
                 {
                     a2.b00 = false;
                 }

                 if ((a1[0] & 2) > 0)
                 {
                     a2.b01 = true;
                 }
                 else
                 {
                     a2.b01 = false;
                 }
    .
    .

    .

    .

            }





    2013年4月10日 下午 12:42

解答

所有回覆