using System; using System.Collections.Generic; using System.Text; namespace OnlineUserPool.Model { public class TargetData { public double _Power = 0d; /// /// km/h /// public double _Speed { get; set; } = 0; public double _Distance = 0D; public double? _Cadence = 0; public int? _HeartRate = 0; public int Ticks = 0; /// /// 纬度 /// public double _Lat = 0d; /// /// 经度 /// public double _Lon = 0d; public double _Bearing = 0d; /// /// 帧数 /// public int? _FrameRate = 0; public TargetData Clone() { return (TargetData)MemberwiseClone(); } public override string ToString() { return string.Format($"Ticks:{Ticks} Power:{_Power} Speed:{_Speed} Distance:{_Distance} Cadence:{_Cadence} HeartRate:{_HeartRate} Lat:{_Lat} Lon:{_Lon} FrameRate:{_FrameRate}"); } public string Write() { return string.Format($"{Ticks},{_Power},{_Speed},{_Distance},{_Cadence},{_HeartRate},{_Lat},{_Lon},{_Bearing}"); } private static TargetData _target = new TargetData(); public static TargetData Read(string data) { string[] split = data.Split(','); _target.Ticks = int.Parse(split[0]); _target._Power = double.Parse(split[1]); _target._Speed = double.Parse(split[2]); _target._Distance = double.Parse(split[3]); _target._Cadence = double.Parse(split[4]); if (!string.IsNullOrWhiteSpace(split[5]) && split[5] != "null") { _target._HeartRate = int.Parse(split[5]); } if (split.Length > 6) { _target._Lat = double.Parse(split[6]); _target._Lon = double.Parse(split[7]); if (split.Length >= 9) { _target._Bearing = double.Parse(split[8]); } } split = null; return _target; } } }