转自 ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解
ArcGIS Engine中总调用IFeatureClass.Search(filter, Recycling)方法,习惯中会把Recycling参数设置为False,但就是不理解为什么要设置为False,和True有什么差别。之前也看过Engine的帮助文档,但感觉越看越糊涂,前几天有自己看了一下,加上之前的使用经验和试验,大致领悟了其中的差异。
参数Recycling为True的时候理解为传引用,为False的时候理解为传值。因此在应用的时候应该注意的“传值”和“传址”的差异。 我们知道引用传递(“传址”)效率较高,因此在绘画要素的时候可以采用 True参数。但当要进行遍历后将Feature的Geometry加入某个集合或插入到其他 FeatureClass的时候,必须使用传值调用,即参数为False,否则我们加入的都是最后 一个变量中的Geometry(因为传地址嘛)。