2013-08-05 4 views
-3
//Example 2 - Validate Date for the format MM/DD/YYYY 
private bool ValidateDate(string stringDateValue) 
{ 
    try 
    { 
     CultureInfo CultureInfoDateCulture = new CultureInfo("en-US"); 
     DateTime d = DateTime.ParseExact(stringDateValue, "MM/dd/yyyy", CultureInfoDateCulture); 
     return true; 
    } 
    catch 
    { 
     return false; 
    } 
} 

Как установить этот код работает без использования попытаться поймать?Как избежать попытаться поймать заявления

+2

Почему вы хотите этого? – Oscar

+1

Какова проблема его использования? или почему вы хотите обойти? – aads

+1

Прежде всего, почему вы хотите избежать try catch block ?? – Pranav

ответ

1

Вместо этого используйте DateTime.TryParseExact, что позволит вам управлять потоком с условным if.

9

Использование DateTime.TryParseExact:

private bool ValidateDate(string stringDateValue) 
{ 
    DateTime dummy; 
    CultureInfo CultureInfoDateCulture = new CultureInfo("en-US"); 
    return DateTime.TryParseExact(stringDateValue, "MM/dd/yyyy", 
            CultureInfoDateCulture, DateTimeStyles.None, 
            out dummy); 
} 
0

Вы можете попробовать:

CultureInfo CultureInfoDateCulture = new CultureInfo("en-US"); 
DateTime date; 

bool works = DateTime.TryParseExact(dateString, "MM/dd/yyyy", CultureInfoDateCulture , 
         DateTimeStyles.None, out date)) 
0

я думаю, что самый простой способ:

private static bool ValidateDate(string stringDateValue) 
    { 
     DateTime dummy; 
     return DateTime.TryParseExact(stringDateValue, "MM/dd/yyyy", CultureInfo.CreateSpecificCulture("en-US"), DateTimeStyles.None, out dummy); 
    } 
Смежные вопросы