ArcGIS图形处理,释放游标用try{}Catch{}finally{}避免出现while里面逻辑出差导致整个工程崩溃。
private List<IFeature> QueryZrzListByZddm(string zddm)
{
List<IFeature> zrzFeatureList = new List<IFeature>();
//属性查询
IQueryFilter qf = new QueryFilterClass();
qf.WhereClause = "ZDDM='" + zddm + "'";
IFeatureCursor tCursor = null;
try
{
tCursor = DataCenter.LayerData.ZRZFC.Search(qf, false);//自然幢
IFeature tFeature = tCursor.NextFeature();
while (tFeature != null)
{
zrzFeatureList.Add(tFeature);
tFeature = tCursor.NextFeature();
}
}
catch (Exception e)
{
throw e;
}
finally
{
ESRI.ArcGIS.ADF.ComReleaser.ReleaseCOMObject(tCursor);
System.Runtime.InteropServices.Marshal.ReleaseComObject(tCursor);
}
return zrzFeatureList;
}