2009-06-11 3 views
0
public string GetNameBySSN(string SSN) 
{ 
    var results = from c in Clients 
        where c.ClientSSN.Equals(IRRCNumber) 
        select c.FirstName; 
    //return results.ToString(); 
} 

Я хочу вернуть одно значение столбца Linq и не уверен, есть ли способ сделать быстрый переход. Я прокомментировал раздел кода, который, как я знаю, не возвращает значение, и если перечислять через коллекцию, я могу получить значение, но задаюсь вопросом, был ли лучший способ.Возврат отдельной колонки с Linq

Я действительно понимаю, что Linq установлен на основе и что у него нет начальных средств, известно, что результат задан одним членом.

ответ

6

results.FirstOrDefault();

Таким образом, не будет бросать исключение, FYI. Где будет @Mehrdad.

6
return results.First().ToString(); 

Другие возможные варианты:

.Первых() возвращает первый элемент и генерирует исключение, если ни один элемент не существует. Он игнорирует все остальные элементы.

.FirstOrDefault() возвращает первый элемент, если существует, и возвращает значение по умолчанию для типа результата, если ничего не существует. Он игнорирует все остальные элементы.

Одиночная() возвращает единственный элемент, если коллекция содержит ровно один элемент и выбрасывает исключение в противном случае.

.SingleOrDefault() подобен Одиночная() но возвращает значение по умолчанию для типа результата, вместо того, чтобы выбросить исключение.

+0

Если c.FirstName - это строка, вам не нужна ToString. –

+0

Конечно. Это было упомянуто в прокомментированном коде, и я воспроизвел его по этому вопросу. –

Смежные вопросы