public List<string[]> GetMatchedValues(IFeatureClass pFeatureClass, string strQuery, string strFieldName)
{
List<string[]> lstValue = null;
string[] temp = null;
IQueryFilter pQueryFilter = null;
IFeatureCursor pFeatureCursor = null;
IFeature pFeature = null;
try
{
pQueryFilter = new QueryFilter();
pQueryFilter.WhereClause = strQuery;
pFeatureCursor = pFeatureClass.Search(pQueryFilter, false);
pFeature = pFeatureCursor.NextFeature();
lstValue = new List<string[]>();
while (pFeature != null)
{
temp = new string[2];
temp[0] = pFeature.get_Value(pFeature.Fields.FindField("FID")).ToString();
temp[1] = pFeature.get_Value(pFeature.Fields.FindField(strFieldName)).ToString();
lstValue.Add(temp);
pFeature = pFeatureCursor.NextFeature();
}
if (pFeature != null)
Marshal.ReleaseComObject(pFeature);
if (pFeatureCursor != null)
Marshal.ReleaseComObject(pFeatureCursor);
if (pQueryFilter != null)
Marshal.ReleaseComObject(pQueryFilter);
return lstValue;
}
catch (System.Exception ex)
{
if (pFeature != null)
Marshal.ReleaseComObject(pFeature);
if (pFeatureCursor != null)
Marshal.ReleaseComObject(pFeatureCursor);
if (pQueryFilter != null)
Marshal.ReleaseComObject(pQueryFilter);
return null;
}
}
{
List<string[]> lstValue = null;
string[] temp = null;
IQueryFilter pQueryFilter = null;
IFeatureCursor pFeatureCursor = null;
IFeature pFeature = null;
try
{
pQueryFilter = new QueryFilter();
pQueryFilter.WhereClause = strQuery;
pFeatureCursor = pFeatureClass.Search(pQueryFilter, false);
pFeature = pFeatureCursor.NextFeature();
lstValue = new List<string[]>();
while (pFeature != null)
{
temp = new string[2];
temp[0] = pFeature.get_Value(pFeature.Fields.FindField("FID")).ToString();
temp[1] = pFeature.get_Value(pFeature.Fields.FindField(strFieldName)).ToString();
lstValue.Add(temp);
pFeature = pFeatureCursor.NextFeature();
}
if (pFeature != null)
Marshal.ReleaseComObject(pFeature);
if (pFeatureCursor != null)
Marshal.ReleaseComObject(pFeatureCursor);
if (pQueryFilter != null)
Marshal.ReleaseComObject(pQueryFilter);
return lstValue;
}
catch (System.Exception ex)
{
if (pFeature != null)
Marshal.ReleaseComObject(pFeature);
if (pFeatureCursor != null)
Marshal.ReleaseComObject(pFeatureCursor);
if (pQueryFilter != null)
Marshal.ReleaseComObject(pQueryFilter);
return null;
}
}