ntjm.net
当前位置:首页 >> C# BytE >>

C# BytE

C#中对byte类型的处理还是很特殊的.下面用几行简单的代码来说明问题 byte x=1; byte y=2; byte z=x+y; //error:无法将int类型转换为byte类型1.可能很多会认为这段代码没有问题,实际上第三行会产生编译错误:无法将int类型转换为byte类型!

byte 关键字代表一种整型,该类型按下表所示存储值:可如下例所示声明并初始化 byte 类型的变量:byte myByte = 255; 在以上声明中,整数 255 从 int 隐式转换为 byte. 如果整数超出了 byte 的范围,将产生编译错误.

c#中的char 是16位的,因为unicode,两个字节byte 是8位的,符号的0~255如果是c++中的char 的话,是8位的,与byte一样,c#中长度不一样的 前两种结果一样,第三种代表的是字符1,即数字49,与前两个不一样

FileUpload1.PostedFile.ContentLength>10*1024*1024;10*1024*1024表示10M的字符长度.希望对你有用啊.

byte 关键字代表一种整型,该类型按下表所示存储值:Type 范围 大小 .NET Framework 类型-------------------------------------------------------------------------------byte 0 到 255 周岁 无符号 8 位整数 System.Byte可如下例所示声明并初始化 byte 类型的变量:

因为dataleft是一个变化的值,size可能在其它地主还会用上,直接用有可能会造成不可预知的错误NetworkStream netStream = new NetworkStream(clientSocket);//通过socket接收数据 byte[] datasize = new byte[4];//设置一个4字节的缓冲

byte 占1个字节,int 占4个子节.当数据量小的时候,看不出区别.当数据量大的时候很大的时候,比如统计全国13亿人的年龄,肯定是0~255之间的,如果用 int 就浪费了很多空间,在数据处理上也会加大耗时.一般是用于处理数据的.还有就是存储图像时一般都是转换成 byte[] 数组.

可以常量加减 运算byte a=1+1;因1是int类型,所以1+1的结果也是int类型.int 类型大于byte类型,隐式转换有丢失数据的可能.所以会提示错误.值类型中 值域小的类型可以隐工转换为大的类型(比如byte可以隐式转换为int类型.注意有符号不可隐式转为无符号.

using System; using System.Collections.Generic; using System.Text;namespace NatureSex.CommonTool.Basic{///<summary>/// 位 操作工具类(也可以使用MS中System.Collections.BitArray操作)/// author:NatureSex///</summary>

/// <returns返回存放序列化后的数据缓冲区</returns public static byte[] Serialize(object data){ BinaryFormatter formatter = new BinaryFormatter(); MemoryStream rems = new MemoryStream(); formatter.Serialize(rems, data); return rems.GetBuffer();}

网站首页 | 网站地图
All rights reserved Powered by www.ntjm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com