Я додаю віддалені пристрої до списку, коли вони оголошують себе в мережі. Я хочу додати пристрій до списку, лише якщо він раніше не був доданий.
Оголошення надходять через прослуховувач асинхронних сокетів, тому код для додавання пристрою можна запускати на декількох потоках. Я не впевнений, що роблю неправильно, але жодне, що я намагаюся, у підсумку дублюється. Ось те, що я зараз маю .....
lock (_remoteDevicesLock)
{
RemoteDevice rDevice = (from d in _remoteDevices
where d.UUID.Trim().Equals(notifyMessage.UUID.Trim(), StringComparison.OrdinalIgnoreCase)
select d).FirstOrDefault();
if (rDevice != null)
{
//Update Device.....
}
else
{
//Create A New Remote Device
rDevice = new RemoteDevice(notifyMessage.UUID);
_remoteDevices.Add(rDevice);
}
}
RemoteDevice?