gpt4 book ai didi

c# - 将传感器数据对象转换为字节数组 (C#)

转载 作者:太空宇宙 更新时间:2023-11-03 15:49:38 24 4
gpt4 key购买 nike

我有一个程序可以从计算机 #1 获取所有传感器数据:

using Windows7.Sensors;

Sensor[] sensors = SensorManager.GetAllSensors();
foreach (Sensor sensor in sensors)
sensor.DataUpdated += sensor_DataUpdated;

在 DataUpdated 函数中,我想使用套接字将所有数据发送到计算机 #2。所以我创建了一个包含所有数据的类:

[Serializable]
public class SensorData
{
public Sensor Sensor { get; set; }
public SensorDataReport SensorDataReport { get; set; }
public SensorData()
{
}
}

这是 DataUpdated 函数:

static void sensor_DataUpdated(Sensor sensor, SensorDataReport dataReport)
{
SensorData data = new SensorData(sensor, dataReport);
socket.Send(data.ToByteArray()); // this 'ToByteArray()' is not a real function. this is what I am looking for
}

我的问题是我不知道如何将我的类对象转换为字节数组。当我尝试序列化它时失败了,因为无法序列化 SensorDataReport 对象。

知道怎么做吗?

最佳答案

您可以使用 BinaryFormatter类:

static void sensor_DataUpdated(Sensor sensor, SensorDataReport dataReport)
{
SensorData data = new SensorData(sensor, dataReport);

BinaryFormatter bf = new BinaryFormatter();
using (MemoryStream ms = new MemoryStream())
{
bf.Serialize(ms, obj);
socket.Send(data.ToByteArray());
}
}

关于c# - 将传感器数据对象转换为字节数组 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26483335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com