using System;
namespace SWRIS.Models
{
public class LiveStreamDataModel
{
///
/// 传感器数量
///
public byte SensorCount { get; set; }
///
/// 采样点数
///
public ushort SampleCount { get; set; }
///
/// 采样数据
///
public ushort[][] Data { get; set; }
public override string ToString()
{
// 创建一个字符串构建器来高效拼接字符串
var sb = new System.Text.StringBuilder();
// 添加类名
sb.Append(nameof(LiveStreamDataModel));
sb.Append(" { ");
// 添加基本属性
sb.Append("SensorCount = ").Append(SensorCount);
sb.Append(", SampleCount = ").Append(SampleCount);
// 添加数据摘要(如果Data不为空)
if (Data != null && Data.Length > 0)
{
sb.Append(", Data = [ ");
// 计算要显示的传感器数量(最多显示3个,避免输出过长)
int sensorsToShow = Math.Min(Data.Length, 3);
for (int i = 0; i < sensorsToShow; i++)
{
sb.Append("[");
if (Data[i] != null && Data[i].Length > 0)
{
// 计算要显示的采样点数量(最多显示5个)
int samplesToShow = Math.Min(Data[i].Length, 5);
for (int j = 0; j < samplesToShow; j++)
{
sb.Append(Data[i][j]);
if (j < samplesToShow - 1)
sb.Append(", ");
}
// 如果采样点超过显示数量,添加省略号
if (Data[i].Length > 5)
sb.Append(", ...");
}
sb.Append("]");
if (i < sensorsToShow - 1)
sb.Append(", ");
}
// 如果传感器数量超过显示数量,添加省略号
if (Data.Length > 3)
sb.Append(", ...");
sb.Append(" ]");
}
else
{
sb.Append(", Data = null");
}
sb.Append(" }");
return sb.ToString();
}
}
}