sivabur: по сути Linq - это функциональщина в C#. Различные выборки, преобразования, фильтрация через Linq записываются более компактно, поэтому их читать, редактировать, поддерживать проще.
ichernob: На будущее, если будете задавать вопросы ,пожалуйста, добавьте контекста. 1) Вы создали List, но я не знаю каких типов список. Object? 2) обращаетесь с ним как с массивом, хотя он им не является в чистом виде. Ну и именование 'a' - дурацкая идея, отвыкать надо. С парой строчек "до" того что вы показали решить вашу проблему былобы гораздо проще
ichernob: Если вы делаете List например или других структурных типов и string, то проверка на null очень сомнительна. Скорее не будет элемента вовсе, чем будет null. Если вы делаете List> То у элемента есть свойство HasValue для проверки на null. Да и вообще нехорошо писать код так , что в любом месте может внезапно вылететь null и надо все проверять. Возможно есть чисто архитектурные проблемы.