SingleItemToCheck
- это отдельный элемент, это не список.У него нет метода ToList()
.Просто создайте список с этим единственным элементом.
return new List<Items> { SingleItemToCheck };
Или, если вас интересует только один элемент, измените тип возвращаемого значения метода просто на Items
и полностью опустите список.
Еще один способ написать это, особенно если вас интересует только один элемент, - просто реорганизовать логику внутреннего цикла в функцию, а затем написать запрос
return source
.OrderBy(s => s.ItemDesirability)
.Where(s => IsDesirable(s)) // refactored loop logic, returning boolean
.FirstOrDefault(); // first desirable item, or null
В противном случае,если вам абсолютно необходим список, но в нем только один элемент, рассмотрите
var list = source
.OrderBy(s => s.ItemDesirability)
.Where(s => IsDesirable(s))
.Take(1)
.ToList();
Если элементы не пропущены, это будет пустой список.Затем вы можете выбрать возврат null, как это делает ваш текущий код, или вернуть пустой список и позволить вызывающим абонентам справиться с этим вместо результата null.