LiveStreamDataModel.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using System;
  2. namespace SWRIS.Models
  3. {
  4. public class LiveStreamDataModel
  5. {
  6. /// <summary>
  7. /// 传感器数量
  8. /// </summary>
  9. public byte SensorCount { get; set; }
  10. /// <summary>
  11. /// 采样点数
  12. /// </summary>
  13. public ushort SampleCount { get; set; }
  14. /// <summary>
  15. /// 采样数据
  16. /// </summary>
  17. public ushort[][] Data { get; set; }
  18. public override string ToString()
  19. {
  20. // 创建一个字符串构建器来高效拼接字符串
  21. var sb = new System.Text.StringBuilder();
  22. // 添加类名
  23. sb.Append(nameof(LiveStreamDataModel));
  24. sb.Append(" { ");
  25. // 添加基本属性
  26. sb.Append("SensorCount = ").Append(SensorCount);
  27. sb.Append(", SampleCount = ").Append(SampleCount);
  28. // 添加数据摘要(如果Data不为空)
  29. if (Data != null && Data.Length > 0)
  30. {
  31. sb.Append(", Data = [ ");
  32. // 计算要显示的传感器数量(最多显示3个,避免输出过长)
  33. int sensorsToShow = Math.Min(Data.Length, 3);
  34. for (int i = 0; i < sensorsToShow; i++)
  35. {
  36. sb.Append("[");
  37. if (Data[i] != null && Data[i].Length > 0)
  38. {
  39. // 计算要显示的采样点数量(最多显示5个)
  40. int samplesToShow = Math.Min(Data[i].Length, 5);
  41. for (int j = 0; j < samplesToShow; j++)
  42. {
  43. sb.Append(Data[i][j]);
  44. if (j < samplesToShow - 1)
  45. sb.Append(", ");
  46. }
  47. // 如果采样点超过显示数量,添加省略号
  48. if (Data[i].Length > 5)
  49. sb.Append(", ...");
  50. }
  51. sb.Append("]");
  52. if (i < sensorsToShow - 1)
  53. sb.Append(", ");
  54. }
  55. // 如果传感器数量超过显示数量,添加省略号
  56. if (Data.Length > 3)
  57. sb.Append(", ...");
  58. sb.Append(" ]");
  59. }
  60. else
  61. {
  62. sb.Append(", Data = null");
  63. }
  64. sb.Append(" }");
  65. return sb.ToString();
  66. }
  67. }
  68. }