Я добавляю удаленные устройства в список, когда они объявляют себя по сети. Я просто хочу добавить устройство в список, если он ранее не был добавлен.
Объявления поступают через прослушиватель асинхронного сокета, поэтому код для добавления устройства может выполняться на нескольких потоках. Я не уверен, что я делаю неправильно, но не матер, что я пытаюсь. Я получаю дубликаты. Вот что я сейчас имею.
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);
}
}