我在asp:GridView中有一个带有DateTime?数据的asp:BoundColumn(我称其为列X)。我循环遍历网格中的所有行,并将.Text属性强制转换为DateTime(我需要这样做来进行一些检查并在需要时更改单元格背景颜色)。
我有两个选项:
将 cast 包裹在 try/catch 中... 处理 FormatException(以防止列 X 中含有垃圾内容)... 仅使用有效的 DateTime 值。
check the column X to make sure it s in the correct format (how?) before casing, and only cast if format is ok.
我应该采取哪种方法,为什么?
谢谢。
附言:所有解释都可以点赞,对于TryParse,接受的回答会被选为最佳答案。
编辑2:虽然我使用了TryParse, 但我取消了接受的答案,以保持讨论继续。
我的“好数据”/“坏数据”比例约为2/1 - 这意味着有很多错误的输入。
如果没有其他问题,我会在几天后重新接受这个答案。