C# 数据类型转换

byte[] Buffer=new byte[100];
   int i,iData;
   string strData,TempStr;

//// System.BitConverter。该类提供了 byte[] GetBytes(...) 方法将各种数值类型转换成字节数组
   ////int to byte[2..5]  int 到 数组
   iData=256*8+100;
   //Buffer=System.BitConverter.GetBytes(iData);
            Buffer[2]=(byte)iData ;
   Buffer[3]=(byte)((iData & 0xff00) >> 8);
   Buffer[4]=(byte)((iData & 0xff0000)>>16);
   Buffer[5]=(byte)((iData & 0xff0000)>>24);

   TempStr="";
   for(i=0;i<10;i++)
    TempStr+=Buffer[i].ToString()+" ";
   Memo.AppendText(TempStr + '\n');


   //// byte[2..5]  to int   数组  到 int
   iData=System.BitConverter.ToInt32(Buffer,2);
   Memo.AppendText(iData.ToString() + '\n');


   //// 字符串到数组

   strData="wo kan kan  ni  shi  shui ? ";
   Buffer=System.Text.Encoding.Default.GetBytes(strData);
   Memo.AppendText(strData.Length.ToString()  + '\n');
   


   //// 数组到字符串
               

   TempStr = System.Text.Encoding.ASCII.GetString(Buffer,3,7);
   Memo.AppendText(TempStr  + '\n');


   //// 格式化整型到字符串
               

   TempStr = iData.ToString("D5");
   Memo.AppendText(TempStr  + '\r');

   ////高低位转换
   iData=6161204;
   Memo.AppendText("转换前:"+iData.ToString());

   Buffer[3]=(byte) (iData & 0xff) ;
   Buffer[2]=(byte)((iData & 0xff00) >> 8);
   Buffer[1]=(byte)((iData & 0xff0000)>>16);
   Buffer[0]=(byte)((iData & 0xff000000)>>24);
   
   iData= System.BitConverter.ToInt32(Buffer,0);
   Memo.AppendText("转换后:"+iData.ToString());
   iData= iData>>8;
   Memo.AppendText("截位:"+iData.ToString("D15")); 
  
   ////练习
   strData="00345";
   iData=int.Parse(strData);
   Memo.AppendText("  :"+iData.ToString()); 

你可能感兴趣的:(数据类型)