如何实现把一个结构体变量中存储的所有数据作为一个整体存储到一个byte数组中啊? http://community.csdn.net/Expert/topic/3558/3558395.xml?temp=.3889887 里面是的问题也是我问的,和这个问题是一个问题,里面有详细的描述。 多谢各位的帮忙了!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 存储到数组可以使用二进制序列化类:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter Sunmast(速马|Reloading...) ,System.Runtime.Serialization.Formatters.Binary.BinaryFormatter 没有用过,可以把结构中的数据序列化到一个byte[]里面吗? 我认为在C#中不可能直接将STRUCT内的数据支持放到byte数组中,因为struct在C++中已经不再是将C中的概念了,在C中struct可以看成是一个多种数据被格式化后放在一起的数据块,在C++中则看成是一个默认所有成员为public类型的内,里面存放的已经不单纯是数据了,还包涵了一些类的内部信息,在C#中我相信这种情况可能更是如此。如果要实现楼主所希望的功能,除了自己编码,我相信没有别的方法了。但方法也不会是太麻烦,可以定义一个函数如ToBytes,可以利用下面的一些方法将数据转换成byte[]byte[]转其它类型System.Text.Encoding.Default.GetByte(byte[])//转换为stringSystem.BitConverter.ToInt(byte[],startindex);//转换为intSystem.BitConverter.ToInt64(byte[],startindex);//转换为int64System.BitConverter.ToChar(byte[],startindex);//转换为char………………其它类型转byte[]System.Text.Encoding.Default.GetBytes(string);//由string转换System.BitConverter.GetBytes();//由其它数值类型转换 wanzhigang:1、序列化机制可以把任何支持序列化的对象序列化为流,然后很容易就能转为byte[]2、.NET的序列化机制和C/C++的struct->byte[]也不一样,后者仅相当于内存拷贝3、在非安全上下文中,.NET也能实现和C/C++一样的转换 我是C#新手,求高手指教,如何用按钮实现excel内容的增删查改,最好有具体代码。 sql分组求和 如何解决RichTextBox不支持UTF-8问题? 请教.NET下是如何实现AOP编程的? dataset对象异常 光盘上有什么信息可以用来唯一标识一个光盘么? 关于XmlDocument的Load 怎么用C#对access数据库进行压缩和修复? 请教一个关于正则表达式的问题! 一个正则表达式的问题,给分100 按住鼠标在窗体上画线,边画边显示线,象AUTOCAD一样?? 一个关于进度条的问题
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter 没有用过,可以把结构中的数据序列化到一个byte[]里面吗?
如果要实现楼主所希望的功能,除了自己编码,我相信没有别的方法了。但方法也不会是太麻烦,可以定义一个函数如ToBytes,可以利用下面的一些方法将数据转换成byte[]
byte[]转其它类型
System.Text.Encoding.Default.GetByte(byte[])//转换为string
System.BitConverter.ToInt(byte[],startindex);//转换为int
System.BitConverter.ToInt64(byte[],startindex);//转换为int64
System.BitConverter.ToChar(byte[],startindex);//转换为char
………………
其它类型转byte[]
System.Text.Encoding.Default.GetBytes(string);//由string转换
System.BitConverter.GetBytes();//由其它数值类型转换
1、序列化机制可以把任何支持序列化的对象序列化为流,然后很容易就能转为byte[]
2、.NET的序列化机制和C/C++的struct->byte[]也不一样,后者仅相当于内存拷贝
3、在非安全上下文中,.NET也能实现和C/C++一样的转换