要删除属性等于更快的值的对象?
foreach(object o in objects)
{
if(o.name == "John Smith")
{
objects.Remove(o);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
要么
objects.RemoveAll(o => o.Name == "John Smith");
Run Code Online (Sandbox Code Playgroud)
谢谢!
编辑:
我应该提到这是从集合中删除一个对象,然后打破循环,这可以防止你所描述的任何错误,尽管使用带循环计数的for循环是更好的选择!
pax*_*blo 16
如果你真的想知道一件事情是否比另一件事更快,那就进行基准测试吧.换句话说,衡量,不要猜!这可能是我最喜欢的口头禅.
除了你破坏第一个规则的事实(在处理它时修改列表,引导我调用我的第二个咒语:你不能得到任何未经优化而不是"错误"),第二个更具可读性,这通常是我的目标.
而且,只是为了完成我的憎恶三位一体的咒语:首先优化可读性,然后在必要时优化速度 :-)
| 归档时间: |
|
| 查看次数: |
1199 次 |
| 最近记录: |