Следует отметить, что TryParse не обязательно будет иметь лучшую производительность, чем Try Catch вокруг вашего "Parse".
Это зависит от вашей частоты отказов. Try-Catch оказывают влияние на производительность, хотя в большинстве случаев это происходит, когда вы терпите неудачу.
Однако, если у вас есть 95% -ный успех или даже выше, и производительность является соображением, тогда вы можете подумать о том, чтобы обернуть ваш цикл в try-catch, чтобы вы выполняли оператор try только при отказ.
int i = 0;
List<String> prePopulated;
List<DateTime> toPopulate;
while(i < prepopulated.Length)
{
Try
{
while(i < prepopulated.Length)
{
List<DateTime>.add(DateTime.Parse(prePopulated[i]));
i++;
}
}
Catch(Exception ex)
{
//log if necessary
i++;
}
}
Имейте в виду, что решение лучше только в том случае, если ваши данные в основном чистые и производительность является ключевой.
В противном случае лучше использовать одну строку «TryParse».