.Net 使用的 TryParse 方式, 可取代原先用 Try Catch 防止轉型錯誤的作法
Example:
String[] aryStr = { "123", "abc" };
foreach (String myStr in aryStr)
{
int iResult;
Response.Write("Parse Result:" + int.TryParse(myStr, out iResult));
Response.Write(" >> ReturnValue:" + iResult + "
");
}
Output:
Parse Result:True >> ReturnValue:123
Parse Result:False >> ReturnValue:0
另外, 如果是日期格式, 還可以透過 TryParseExact 來處理格式化的日期字串
Example:
String[] aryDateStr = { "20110101 13:00", "20110101 c3:00" };
foreach (String myStr in aryDateStr)
{
DateTime dtResult;
Response.Write("Parse Result:" + DateTime.TryParseExact(myStr, "yyyyMMdd HH:mm", CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out dtResult));
Response.Write(" >> ReturnValue:" + dtResult + "
");
}
Output:
Parse Result:True >> ReturnValue:2011/1/1 下午 01:00:00 // 回傳的正確日期
Parse Result:False >> ReturnValue:0001/1/1 上午 12:00:00 // 錯誤的日期格式
省去了 try..catch 的麻煩. 程式碼也簡單許多
Example:
String[] aryStr = { "123", "abc" };
foreach (String myStr in aryStr)
{
int iResult;
Response.Write("Parse Result:" + int.TryParse(myStr, out iResult));
Response.Write(" >> ReturnValue:" + iResult + "
");
}
Output:
Parse Result:True >> ReturnValue:123
Parse Result:False >> ReturnValue:0
另外, 如果是日期格式, 還可以透過 TryParseExact 來處理格式化的日期字串
Example:
String[] aryDateStr = { "20110101 13:00", "20110101 c3:00" };
foreach (String myStr in aryDateStr)
{
DateTime dtResult;
Response.Write("Parse Result:" + DateTime.TryParseExact(myStr, "yyyyMMdd HH:mm", CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out dtResult));
Response.Write(" >> ReturnValue:" + dtResult + "
");
}
Output:
Parse Result:True >> ReturnValue:2011/1/1 下午 01:00:00 // 回傳的正確日期
Parse Result:False >> ReturnValue:0001/1/1 上午 12:00:00 // 錯誤的日期格式
省去了 try..catch 的麻煩. 程式碼也簡單許多
全站熱搜
留言列表