快速检查列表中的所有子项目
我有一个列表,其中一个属性为布尔值。我需要检查每一项是否属实。现在通常 LINQ 会在这里给出一个很好的干净答案,但由于我使用的是 .NET 2.0,所以我无法使用它。
如果有更好的方法来做到这一点,或者我是否必须为每个循环执行一次并在发现错误时突破?
编辑: 看来我本来可以更清楚一点。我在列表中有一个对象(例如List (Of MyObject)
)。该对象有一个名为 Processed 的布尔属性。
我需要检查列表中的所有对象是否都已处理。
所以在 LINQ 中我会这样做: if(从列表中的 o,其中 o.processed = false 选择 o).count = 0 那么...
I have a list with a boolean value as one of the properties. I need to check if every one of these is true. Now normally LINQ would give a nice clean answer here, but as I am using .NET 2.0 I can't use that.
If there a nicer way to do this or am I going to have to do a for each loop and break out on finding a false?
Edit:
Seems I could have been a bit clearer. I have an object in a list (eg List (Of MyObject)
). There is a boolean property on this object called Processed.
I need to check that all objects in the list are processed.
So in LINQ I'd do:if (from o in list where o.processed = false select o).count = 0 then....
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
通过使用
List
您可以使用Contains()
方法:By using
List<Of Boolean>
you can useContains()
method:ArrayList
和List
有一堆方法,它们的功能与 LINQ 的功能差不多。他们在 LINQ 之前就已经存在了。具体来说,请查看
Exists
方法。不幸的是我不知道 VB 语法:)ArrayList
andList<T>
has a bunch of methods that does pretty much what LINQ does. They have been there before LINQ.Specifically, look at the
Exists
method. Unfortunately I dont know the VB syntax :)您可以编写自己的通用列表实现并添加属性 IsProcessedCompletely:
You could write your own generic list implementation an add a property IsProcessedCompletely: