是否可以使用Int32.TryParse
檢查負數?用TryParse檢查負數
int defaultTop;
displayTop = (Int32.TryParse(DisplayTop, out defaultTop) ? Convert.ToInt32(DisplayTop) : 1000);
是否可以使用Int32.TryParse
檢查負數?用TryParse檢查負數
int defaultTop;
displayTop = (Int32.TryParse(DisplayTop, out defaultTop) ? Convert.ToInt32(DisplayTop) : 1000);
爲什麼不使用UInt32.TryParse(DisplayTop, out defaultTop)
?
如果數字爲0或正值,則返回true;否則返回false。
+ 1000000000000! – 2013-02-19 22:28:35
試試這個
int defaultTop;
var isValidInt = Int32.TryParse(DisplayTop, out defaultTop);
displayTop = isValidInt && defaultTop >= 0 ? defaultTop : 1000;
使用Math.Max:
displayTop = Math.Max(1,(Int32.TryParse(DisplayTop, out defaultTop) ? Convert.ToInt32(DisplayTop) : 1000));
當然,這麼長的表情有點難看,但它工作。
你不能單獨使用TryParse,你必須獨立檢查defaultTop
的值。如果你想把它全部放在一條線上,你可以嘗試:
displayTop = ((Int32.TryParse(DisplayTop, out defaultTop) && defaultTop >= 0) ? defaultTop : 1000);
爲什麼你第二次轉換它?你可以直接使用'defaultTop'。 – 2013-02-19 22:22:37
@TimSchmelter - 你是對的!禍害或盲目複製/粘貼。 – 2013-02-19 22:25:08
你想完成什麼?如果它是一個有效的整數,那麼它將被轉換,而不管它是否爲正數。如果它不是一個有效的Int,那麼它將會失敗... – Josh 2013-02-19 22:15:49
不能直接使用TryParse。但是爲什麼不在分析之後檢查defaultTop本身呢? – 2013-02-19 22:16:35
我將DisplayTop傳遞給Storedproc以獲取頂部的DisplayTop行數。 – BumbleBee 2013-02-19 22:17:17