Еще одна проблема, связанная с String.Substring , заключается в том, что он выбрасывает, если строка недостаточно длинная, т.е. вы пытаетесь получить первые 5 символов строки из 4 символов.Вы можете использовать простой вспомогательный метод, подобный следующему:
where First(a["address1_postalcode"], 5) == lLead.ZipCode
(вам может потребоваться преобразовать или привести a["address1_postalcode"]
к строке в зависимости от того, какой тип он возвращает.)
public static string First(string s, int charcount)
{
if (s == null) return String.Empty;
return s.Substring(0, Math.Min(s.Length, charcount));
}