我有以下的表达方式;
MyResult = userRecords.Exists(
r => ((r.userDataOne + r.userDataTwo) / r.userLimit ) > 0.6m);问题是,当System.DivideByZeroException为0时,我偶尔会得到一个‘userLimit’。
目前,我所看到的处理这一问题的唯一方法是尝试/捕获或If语句。我已经尝试过寻找一种解决方案,可以使用lambda语句并处理0,我是否被困在使用多个'if‘语句?还是有一种更好的方法来处理这些类型的异常?
发布于 2014-03-31 20:48:40
问题不是userDataOne或userDataTwo。问题是userLimit。
您可以尝试避免这样的记录:
userRecords.Where(r => r.userLimit != 0).Exists( ... )或者像这样:
userRecords.Exists(r => r.userLimit != 0 && ((r.userDataOne + r.userDataTwo) / r.userLimit ) > 0.6m);https://stackoverflow.com/questions/22771766
复制相似问题