Работа с пустым столбцом в LINQ при объединении в строку - PullRequest
2 голосов
/ 23 июня 2011

Я пытаюсь получить сведения о человеке, где отчество иногда отсутствует, в моем приложении.Я пытаюсь так:

contactTable.Select(c => c.Title + " " + c.FirstName).ToList();

Но всякий раз, когда столбец заголовка остается пустым в БД, он возвращается пустым для этой записи.Я хочу что-то вроде:

contactTable.Select(c => (string.IsNullOrEmpty(c.Title) ? "" : c.Title + " ") + c.FirstName).ToList();

Возможно ли это в одном операторе linq?Заранее спасибо.

Это возможно, и полный ответ включает в себя обнуляемое MiddleName:

contactDetails = contactTable.Select(c =>
            ((c.Title ?? "") + " " + c.FirstName).Trim() + " " + ((c.MiddleName ?? "") + " " + c.LastName).Trim()).ToList();

Смотрите двойное использование Trim().

1 Ответ

3 голосов
/ 23 июня 2011

Используйте: ??Оператор

попробуйте этот код ниже

contactTable.Select(c => ( (( c.Title ?? "") + " "  + c.FirstName).Trim()).ToList();
...