C# winform socket.send 发送 struct (或 struct 与 byte[] 互转) 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不同语言 定义的结构体 可能存在对位 的问题,导致对象不能正确解析, 还牵涉到 数据类型的 长度问题 定义结构体 public struct MyStruct{ public int _number; public string _text; } 在C#中 建议你使用string而不是char数组存储字符串 还有 请在每一个字段前加入public 否则你会访问不到,C#相比C是有访问修饰的 将一个对象序列化成二进制数组2007年08月21日 星期二 下午 10:53//将一个对象序列化成二进制数组 C# codeprivate byte[] SerializeToByte(ArrayList list){//假如Arraylist为空,则返回nullif (list.Count == 0){return null;}byte[] array = null;try{//定义一个流Stream stream = new MemoryStream();//定义一个格式化器BinaryFormatter bf = new BinaryFormatter();//将Arraylist中的对象逐一进行序列化foreach (object obj in list){bf.Serialize(stream, obj);}array = new byte[stream.Length];//将二进制流写入数组stream.Position = 0;stream.Read(array, 0, (int)stream.Length);//关闭流stream.Close();}catch (Exception ex){MessageBox.Show(ex.Message);return null;}return array;} 新同学 请大家帮帮忙,谢谢 flash抓包与模拟发包采集问题。 能否在接口中规定其实现必须重写tostring方法呢? DES类里的那个IV是什么意思 ASP.net打印WORD文档问题? 求助 未能正确加载包“microsoft.visual studio.xaml” 如何确定当前线程并使他停止一段时间后再运行? 基类和派生类同时实现一个接口的问题 C#解码方法 请问datagrid中如何选中一行??急。。。 远程服务器返回错误 401未经授权 怎么解决 OOP的一个问题
定义结构体
public struct MyStruct{
public int _number;
public string _text;
}
在C#中 建议你使用string而不是char数组存储字符串
还有 请在每一个字段前加入public 否则你会访问不到,C#相比C是有访问修饰的
将一个对象序列化成二进制数组2007年08月21日 星期二 下午 10:53//将一个对象序列化成二进制数组 C# codeprivate byte[] SerializeToByte(ArrayList list)
{
//假如Arraylist为空,则返回null
if (list.Count == 0)
{
return null;
}
byte[] array = null;
try
{
//定义一个流
Stream stream = new MemoryStream();
//定义一个格式化器
BinaryFormatter bf = new BinaryFormatter();
//将Arraylist中的对象逐一进行序列化
foreach (object obj in list)
{
bf.Serialize(stream, obj);
}
array = new byte[stream.Length];
//将二进制流写入数组
stream.Position = 0;
stream.Read(array, 0, (int)stream.Length);
//关闭流
stream.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return null;
}
return array;
}