我正在尝试编写一些逻辑来确定集合中对象的某个属性的所有值是否都是数字并且大于零。我可以使用 ForEach 轻松编写此代码,但我想使用 Linq to Object 编写此代码。我试过这个:
var result = entity.Reports.Any(
x =>
x.QuestionBlock == _question.QuestionBlock
&& (!string.IsNullOrEmpty(x.Data)) && Int32.TryParse(x.Data, out tempVal)
&& Int32.Parse(x.Data) > 0);
它不能正常工作。我也试过这个,希望 Int32 上的 TryParse() 在第一次遇到无法解析为 int 的字符串时返回 false。但似乎 out 参数将包含可以解析为 int 的第一个值字符串值。
var result = entity.GranteeReportDataModels.Any(
x =>
x.QuestionBlock == _question.QuestionBlock
&& (!string.IsNullOrEmpty(x.Data)) && Int32.TryParse(x.Data, out tempVal));
任何帮助是极大的赞赏!