Parse 和 TryParse 用法與區別
現實中拿到的幾乎都是字串,所以如何將字串拿來使用和運算等,就需要靠Parse。
string strNum1 = "11";
string strNum2 = "22";
int sum = strNum1 + strNum2; //我們想把兩個數字相加,但兩者都是字串不能加
經過Parse調整就可以了!!!!!!!!!
string strNum1 = "11";
string strNum2 = "22";
int sum =int.Parse(strNum1) + int.Parse(strNum2);
Console.WriteLine(sum); //得到33
其他像是DateTime/double/float/short/ushort等等,都能夠用Parse!!!!!!!!!!!!超好用!!
___________________________________________________________________________
至於tryParse的出現,就是因為可能有人會亂輸入值,例如給你
string strNum1 = "11bbbb";
string strNum2 = "22";
int sum =int.Parse(strNum1) + int.Parse(strNum2); //拋出FormatException ,因為strNum1
Console.WriteLine(sum);
為了預防萬一更保全的方式是使用TryParse
string date = "2018/11/12aaa";
DateTime result;
if(DateTime.TryParse(date,out result)) //tryParse會傳回一個布林值,我們可以看到如果 //錯誤,我們可以另外顯示出來,這樣就不會有例 //外拋出啦!
{
Console.WriteLine(DateTime.Parse(date));
}
else
{
Console.WriteLine("error DateTime");
}
所以,除非你非常非常確定這個字串正確,否則請用tryParse這個方法唷!~
string strNum1 = "11";
string strNum2 = "22";
int sum = strNum1 + strNum2; //我們想把兩個數字相加,但兩者都是字串不能加
經過Parse調整就可以了!!!!!!!!!
string strNum1 = "11";
string strNum2 = "22";
int sum =int.Parse(strNum1) + int.Parse(strNum2);
Console.WriteLine(sum); //得到33
其他像是DateTime/double/float/short/ushort等等,都能夠用Parse!!!!!!!!!!!!超好用!!
___________________________________________________________________________
至於tryParse的出現,就是因為可能有人會亂輸入值,例如給你
string strNum1 = "11bbbb";
string strNum2 = "22";
int sum =int.Parse(strNum1) + int.Parse(strNum2); //拋出FormatException ,因為strNum1
Console.WriteLine(sum);
為了預防萬一更保全的方式是使用TryParse
string date = "2018/11/12aaa";
DateTime result;
if(DateTime.TryParse(date,out result)) //tryParse會傳回一個布林值,我們可以看到如果 //錯誤,我們可以另外顯示出來,這樣就不會有例 //外拋出啦!
{
Console.WriteLine(DateTime.Parse(date));
}
else
{
Console.WriteLine("error DateTime");
}
所以,除非你非常非常確定這個字串正確,否則請用tryParse這個方法唷!~
留言
張貼留言