В случае, если вы ожидаете, чтобы найти результат, который вы должны сделать
Return result.Single();
Если не уверен, что существует сделать и проверить нуль:
Return result.SingleOrDefault();
Я бы реализуйте методы Single() вместо First(). Ваш метод возвращает одного рефери к вызывающему. Вы хотите удостовериться, что в каждом случае у вас есть единственный рефери. Когда более 1 соответствует вашим критериям, вы вводите некоторые очень тонкие ошибки в своем приложении. Предполагая, что вы работаете против правильной записи, но вместо этого вы можете получить совершенно другую.
Лучше использовать методы First(), если у вас есть список, который вы заказываете на какой-то записи, и действительно хотите получить первую строку на основе заказа.
Это будет работать, но я нахожу реализацию первого (OrDefault) метода, который не очень подходит.Вы никогда не знаете, какую запись вы собираетесь вернуть, и, похоже, ожидаете уникального результата. На самом деле он должен разорваться, если будет больше одного. Я предпочитаю использовать FirstOrDefault только тогда, когда я действительно хочу первый, основанный на некоторых сортировках. – JMan
@Jeroen. Вы можете подумать о добавлении этой информации в исходный вопрос - она немного меняет требования. При этом вы, вероятно, захотите использовать «SingleOrDefault». Это вызовет исключение, если ваш запрос возвратит несколько элементов и вернет null, если не возвращаются никакие элементы. – matt