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