Как лучше проверить наличие первого элемента списка?
При работе с массивами лучше использовать Linq.var first = a.FirstOrDefault();
if (first != null)
{
...
}
Подход с try обычно более ресурсоемкий.
a.length!=0 . Или у вас может не быть первого, но есть второй?