ArcGIS Engine讀取Personal Geodatabase數據

long start = GC.GetTotalMemory(true);

string mdbFilePath = @"E:\Workspace\GIS\Data\gadm2.mdb";
string featureClassName = "gadm2";
IWorkspaceFactory pWorkspaceFactory = new AccessWorkspaceFactoryClass();
IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(mdbFilePath, 0);
IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass(featureClassName);

IFeatureCursor pFeatureCursor = pFeatureClass.Search(null, false);

int i = 0;
IFeature pFeature = null;
while ((pFeature = pFeatureCursor.NextFeature()) != null)
{
    Marshal.FinalReleaseComObject(pFeature);
    pFeature = null;
    i++;
}

Marshal.FinalReleaseComObject(pFeatureCursor);
pFeatureCursor = null;

Marshal.FinalReleaseComObject(pFeatureClass);
pFeatureClass = null;

Marshal.FinalReleaseComObject(pFeatureWorkspace);
pFeatureWorkspace = null;

pWorkspace = null;
pWorkspaceFactory = null;

GC.Collect();
GC.WaitForFullGCComplete();
long end = GC.GetTotalMemory(true);
long useMemory = end - start;

Console.WriteLine("Memory: " + useMemory); // Memory: 0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章