在调用List.Clear()之前检查列表是否包含值;

时间:2018-03-12 12:37:48

标签: c# .net optimization

我想知道它的良好做法"在.NET中清除之前检查列表是否有值?或者这是在调用T2时已经检查过的东西吗?

示例:

Clear();

其中哪些被认为是"良好做法"?

1 个答案:

答案 0 :(得分:3)

嗯,自己检查它不会花费太多,因为Count具有public void Clear() { if (_size > 0) { Array.Clear(_items, 0, _size); // Don't need to doc this but we clear the elements so that the gc can reclaim the references. _size = 0; } _version++; } 属性。但是因为this是.NET代码所以不需要它:

someList = new List<string>();

但是,如果您因任何原因不需要保留旧引用,则可以始终创建一个最有效的新方法:

SELECT u.*, r.regionName, COUNT(i.fmid) AS invcount, COUNT(s.fmid) AS streamcount
FROM fm_users u
JOIN fm_regions r
ON u.region=r.regionid
LEFT OUTER JOIN fm_inventory i
ON u.fmid=i.fmid
LEFT OUTER JOIN fm_stream s
ON u.fmid=s.fmid
WHERE u.username='sampleuser'