Проверка на нулевое значение при создании XML-документа из списка объектов - PullRequest
0 голосов
/ 02 марта 2011

Я хочу создать документ XML из списка объектов.Как обрабатывать Null в преобразовании.

  XElement xml = new XElement("people",
                            from p in PPL
                            select new XElement("person",
                                        new XElement("id", p.ID),
                                        new XElement("firstname", p.FirstName),
                                        new XElement("lastname", p.LastName),
                                        new XElement("idrole", p.IDRole)));

Как показано в приведенном выше примере, если PPL равен нулю, в моем xml должно быть просто <\ people> Теперь я получаю ошибку NUllreferenc.

Заранее спасибо BB

1 Ответ

4 голосов
/ 02 марта 2011

Один из вариантов - использовать оператор объединения нулей:

from p in PPL ?? Enumerable.Empty<Person>()

Если вам нужно сделать это для коллекции анонимного типа, вы можете создать метод расширения:

public static IEnumerable<TSource> EmptyIfNull<TSource>
    (this IEnumerable<TSource> source)
{
    return source ?? Enumerable.Empty<TSource>();
}

тогда ваш запрос может использовать

from p in PPL.EmptyIfNull()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...