У меня есть метод, который должен проверять, есть ли в коллекции ровно один элемент, который остается верным для некоторого предиката (заданного как Func).
public bool ExistsUnique(Func<T, bool> p)
{
var tempCol = from i in MyCollection where p(i) select i;
return (tempCol.Count() == 1);
}
Проблема в том, что когда второй элемент, который также имеет место для предиката
найдено (например, две одинаковые строки существуют в коллекции), число равно 1. Это означает, что он либо переопределяет первый элемент, либо никогда не добавляет второй, поскольку он уже существует.
Есть идеи, как я могу исправить этот метод?
Спасибо
/ Питер