关于byte[]有效数组长度的问题
比如   byte[]   buff   =   new   byte[100]; 
 buff   =   Encodeing.Default.GetBytes( "abc "); 
 所以实际有效长度是   3,那么怎么得到这个有效长度. 
 不能把   abc   赋值给一个变量判断那变量的.     
 本来我想这样 
 for   (int   i   =   0;   i    <   buff.Length;   i++) 
                                     { 
                                                 if   (i    <=   25)   continue; 
                                                 if   (buff[i]   ==   0x00) 
                                                 { 
                                                             length   =   i; 
                                                             break; 
                                                 } 
                                     } 
 一般情况下,这样可以,但是 
 因为中间   buff   又其他值,比如一个   整型值   转换为   4位的字节 
 高位有时候就有   0x00, 
 所以这样就不能判断了.也不能用循环   i=buff.Length;i> 0;i--判断最后一个有效值,这样效率不行.大家帮我想想办法.谢谢了
------解决方案--------------------byte[] bytes = new byte[200]; 
         private void button1_Click(object sender, EventArgs e) 
         { 
             bytes = System.Text.Encoding.Default.GetBytes(textBox1.Text.Trim()); 
             MessageBox.Show(bytes.Length.ToString()); 
         }
------解决方案--------------------using System; 
 using System.Text; 
 class Program 
 { 
     static void Main(string[] args) 
     { 
         byte[] buff = new byte[100]; 
         buff = Encoding.Default.GetBytes( "abc ");//Encoding不是Encodeing 
         Console.WriteLine(buff.GetLength(0)); 
     } 
 } 
------解决方案--------------------改为MessageBox.Show(a.GetLength(0).ToString()); 
------解决方案--------------------不管buff初始定义大小为多少,当调用buff = Encodeing.Default.GetBytes( "abc ");那么buff都被赋值为GetBytes方法返回的数组(不是copy),相当于重定义了buff,所以不用与判断buff的有效字节.
------解决方案--------------------Encodeing.Default.GetBytes( "abc ");是没问题,返回的是新实例.
------解决方案--------------------@caizhenfang(几路) 
 你可以返回后再通过Array.Copy或实例方法CopyTo复制到你定义的Buf中。 
 比如byte[] buff = new byte[100]; 
 Encoding.Default.GetBytes( "abc ").CopyTo(buff, 0); 
 但是上面的语句不到返回的长度。 
 最好是有一个临时数组: 
 byte[] buf = Encoding.Default.GetBytes( "abc "); 
 buf.CopyTo(buff, 0); 
 后面的再追加时可以根据buf的长度设置相应的位置。
------解决方案--------------------关注,没用过。