C# 如何在xamarin表单中加入BLE通知中的值?
我在BLE通知中获取20字节块的数据。我正在将其转换为字符串,但我需要将所有字符串连接在一起。这是我的密码C# 如何在xamarin表单中加入BLE通知中的值?,c#,xamarin.forms,append,bluetooth-lowenergy,C#,Xamarin.forms,Append,Bluetooth Lowenergy,我在BLE通知中获取20字节块的数据。我正在将其转换为字符串,但我需要将所有字符串连接在一起。这是我的密码 characteristicRead.ValueUpdated += (o, e) => { Device.BeginInvokeOnMainThread(() => { //var readvalue2 = characteristics.Value
characteristicRead.ValueUpdated += (o, e) =>
{
Device.BeginInvokeOnMainThread(() =>
{
//var readvalue2 = characteristics.Value;
var bytes = e.Characteristic.Value;
//var readvalue = await characteristics.ReadAsync();
BLEresultnew = System.Text.Encoding.UTF8.GetString(bytes);
Console.WriteLine(BLEresultnew);
var termsList = new List<string>();
//var joinedStrings = termsList.Join(",");
termsList.Add(BLEresultnew);
concat = String.Join(" ", termsList.ToArray());
//int listdata=termsList.Count();
//string valuel = listdata.ToString();
});
};
await characteristicRead.StartUpdatesAsync();
我试过使用字符串。但它不起作用。我已经尝试了字符串生成器,但它仍然没有连接所有字符串,正如您在下面看到的
Console.WriteLine(BLEresultnew);
StringBuilder sb = new StringBuilder(BLEresultnew);
//sb.Append(BLEresultnew);
concat= sb.Append(BLEresultnew).ToString();
有什么建议可以解决这个问题吗?
StringBuilder
效率更高,但只要这样做就行了(假设concat
是类级变量)
您每次都在创建一个新的空
termsList
-var termsList=new List()代码>您的转储可能会产生误导。您确定字符串blesultnew中的任何位置都不包含换行符吗?所有线条的最大宽度都相同。报告时在某个宽度上是否有强制中断?您可能应该使用StringBuilder
@Jason是的,它只是在blesultnew中逐个添加字符串,而不是存储它。这是因为你每次都在通过创建一个新对象来抛弃你以前的结果,因为它很有魅力。
Console.WriteLine(BLEresultnew);
StringBuilder sb = new StringBuilder(BLEresultnew);
//sb.Append(BLEresultnew);
concat= sb.Append(BLEresultnew).ToString();
concat += BLEresultnew;