Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
У них есть полностью различная семантика.
AddRange изменяет список путем добавления других объектов к нему.
Concat возвращает новую последовательность, содержащую список и другие объекты, не изменяя список.
Выбирают, какой бы ни у каждого есть семантика, которую Вы хотите.
Большая разница - то, что AddRange видоизменяет тот список, против которого это называют, тогда как Concat создает новый Список. Следовательно у них есть различное использование.
Также Concat является дополнительным методом, который относится к любому IEnumerable и возвращает IEnumerable, Вам нужен.ToList () для приведения к новому Списку.
, Если Вы хотите расширить содержание существующего списка, используют AddRange.
, Если Вы создаете новый список из двух источников IEnumerable тогда, используют Concat с.ToList. Это имеет качество, что оно не видоизменяет ни один из источников.
, Если только когда-либо необходимо перечислять содержание двух Списков (или какой-либо другой IEnumerable) тогда просто, используют Concat каждый раз, когда это имеет преимущество фактического выделения новой памяти для содержания объединенного списка.