我在Windows 10上使用C#查找Bluetooth Low Enegergy设备。当我运行以下代码时,我遇到了这样的错误:
“发生了'System.ArgumentOutOfRangeException'类型的异常 mscorlib.dll但未在用户代码“。
中处理
错误行是Debug.WriteLine("Found device: " + devices[0].Id);
我不知道为什么它超出了范围。谢谢!
namespace BluetoothLE
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private async void LookForPairedDevices()
{
// Get BLE devices paired with Windows
DeviceInformationCollection devices = await DeviceInformation.FindAllAsync(BluetoothLEDevice.GetDeviceSelector());
Debug.WriteLine("Found device: " + devices[0].Id);
}
}
}
答案 0 :(得分:3)
您的错误就在这一行:
Debug.WriteLine("Found device: " + devices[0].Id);
如果您调试了代码,则会发现devices
的长度为0,并且您尝试访问第一个属性id
(它不存在)。
您可能需要考虑使用foreach循环来查看返回的内容:
foreach(var device in devices){
Debug.WriteLine("Found device: " + device.Id);
}