获取某一字段唯一值

 /** <summary>
/// 得到要素类某字段的唯一值
/// </summary>
/// <param name="pFeatureClass">要素类</param>
/// <param name="strFld">指定要得到唯一值的字段</param>
/// <returns>唯一值字符数据</returns>
public static string[] GetUniqueValue(IFeatureClass pFeatureClass,string strFld)
{
//得到IFeatureCursor游标
IFeatureCursor pCursor=pFeatureClass.Search(null,false);
//coClass对象实例生成
IDataStatistics pData=new DataStatisticsClass();
pData.Field=strFld;
pData.Cursor=pCursor as ICursor;
//枚举唯一值
IEnumerator pEnumVar=pData.UniqueValues ;
//记录总数
int RecordCount=pData.UniqueValueCount;
//字符数组
string[] strValue=new string[RecordCount];
pEnumVar.Reset();
int i=0;
while(pEnumVar.MoveNext())
{
strValue[++i]=pEnumVar.Current.ToString();
}
return strValue;
}


Public Shared Function GetUniqueValue(ByVal pFeatureClass As IFeatureClass, ByVal strFld As String) As String()
Dim pCursor As IFeatureCursor = pFeatureClass.Search(Nothing, False)
Dim pData As IDataStatistics = New DataStatisticsClass
pData.Field = strFld
pData.Cursor = CType(ConversionHelpers.AsWorkaround(pCursor, GetType(ICursor)), ICursor)
Dim pEnumVar As IEnumerator = pData.UniqueValues
Dim RecordCount As Integer = pData.UniqueValueCount
Dim strValue(RecordCount) As String
pEnumVar.Reset
Dim i As Integer = 0
While pEnumVar.MoveNext
strValue(System.Threading.Interlocked.Increment(i)) = pEnumVar.Current.ToString
End While
Return strValue
End Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值