C#中BitConverter.ToUInt16()和BitConverter.ToString()的简单使用
下面是msdn中的一个例子,在我刚看到这里例子时,该例子有三点是我可以学到的。
第一:排列格式。如:定义一个常量变量const string a="{0,11}{1,10},{2,7}";这样一个格式用来排列三个变量的位置,第一个变量占5个位置,第二个变量占8个位置,第三个变量占10个位置。中英文都算一个位置。比如在控制台上输出Console.WriteLine(a,"以后想找什么当另外一半","找个又帅又有车的","那买副象棋吧"); 下面是这个测试的截图
如果,定义所占的位置少于要输入的字符,会自动增加,而不是截断。
第二:BitConverter.ToUInt16()的用法,是把两个字节转换为无符号整数,如:20556 这两个字节的16进制是CD38 那么转为无符号整数应该倒过来排即38CD 这个数转为无符号十进制整数就是14541
第三:BitConverter.ToString()的用法,这个就是把字节或字节数组转换为十六进制或十六进制的字符串形式,中间用“-”连接
下面是这个例子的完整代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceBitConverter数据转换
{
classProgram
{
//排列格式,第一个变量占五个位置,第二个变量占17个位置,第三个变量占10个位置
conststringformatter="{0,5}{1,17}{2,10}";
//Converttwobytearrayelementstoaushortanddisplayit.
publicstaticvoidBAToUInt16(byte[]bytes,intindex)
{
//BitConverter用于基础数据跟字节数组相互转换
//BitConverter.ToUInt16()方法将字节数组指定位置起的两个字节转换为无符号整数
ushortvalue=BitConverter.ToUInt16(bytes,index);
//BitConverter.ToString()字节数组转换为十六进制的字符串形式
Console.WriteLine(formatter,index,
BitConverter.ToString(bytes,index,2),value);
}
staticvoidMain(string[]args)
{
byte[]byteArray={
15,0,0,255,3,16,39,255,255,127};
Console.WriteLine(
"ThisexampleoftheBitConverter.ToUInt16(byte[],"+
"int)\nmethodgeneratesthefollowingoutput.It"+
"convertselements\nofabytearraytoushortvalues.\n");
Console.WriteLine("initialbytearray");
Console.WriteLine("------------------");
Console.WriteLine(BitConverter.ToString(byteArray));
Console.WriteLine();
Console.WriteLine(formatter,"index","arrayelements",
"ushort");
Console.WriteLine(formatter,"-----","--------------",
"------");
//Convertbytearrayelementstoushortvalues.
BAToUInt16(byteArray,1);
BAToUInt16(byteArray,0);
BAToUInt16(byteArray,3);
BAToUInt16(byteArray,5);
BAToUInt16(byteArray,8);
BAToUInt16(byteArray,7);
Console.ReadKey();
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。