У меня есть список объектов, в которые я хочу добавить только новый объект, если в списке еще нет объекта с подходящими свойствами, вот как я пытаюсь это сделать:
reservation = new ForecastReservationAssignees();
string extractWeekNumber = Regex.Match(weekNumberValue.Value.ToString(), @"\d+").Value;
int weekNumber = Int32.Parse(extractWeekNumber);
if ((reservationAssigneeList.Any(i => i.AvailableFor != weekNumber))
&& (reservationAssigneeList.Any(i => i.EmployeeName != employeeNameValue.Value.ToString())))
{
reservation.AvailableFor = weekNumber;
// Add it.
reservation.EmployeeName = employeeNameValue.Value.ToString();
// Add object.
reservationAssigneeList.Add(reservation);
}
Сначала я создаю новый объект, который имеет свойства EmployeeName
, строку и AvailableFor
, которая является целым числом.Я извлекаю число из строки, которую я получил в другом месте, и анализирую число в int.Затем следует заявление if.Здесь я хочу проверить, содержит ли список эти свойства.По сути, я хочу добавить сотрудника только один раз, и тогда у этого сотрудника может быть несколько AvailableFor
, то есть недели, хотя одна и та же неделя один раз.Пример может быть таким:
> Employee1
Week 11
Week 12
Week 13
Таким образом, нет имени сотрудника дважды, и нет недели дважды для каждого сотрудника.Однако недели могут быть одинаковыми для нескольких сотрудников, поэтому первый и второй сотрудники имеют одинаковую неделю.
Когда я запускаю приведенный выше код, я ничего не получаю, вообще ничего не добавляется.Что я могу делать не так?