• C#删除数组中的重复项


          使用C#查找数据中重复数据,删除数组重复项的解决方法。个人感觉,如果在数组不是很大的情况下,用正则替换还是最快的。原理就是先排序,再用正则替换重复。下面是我在霏凡社区(http://bbs.crsky.com)的编程区看到某个朋友提供的两种解决方案,转载到个人博客中,以便不时之需。当然泛型+foreach是最好的选择,第二种方法很是不错,代码简洁,只是泛型的应用,如果再FOREACH就更好。

    第一种方法:
    public  static  String[]      RemoveDup(String[]  myData)

                if  (myData.Length  >  0) 
                {
                        Array.Sort(myData); //先对数组进行排序
                                int  size  =  1;  //定义删除重复项后的数组长度 
                                for  (int  i=1;  i <myData.Length;  i++) 
                                    if  (myData  !=  myData[i-1]) 
                                                size++;
                                String[]  myTempData  =  new  String[size];
                                  int  j=0; 
                               
                                myTempData[j++]  =  myData[0]; 
                               
                                for  (int  i=1;  i <myData.Length;  i++) //遍历数组成员 
                                    if  (myData  !=  myData[i-1])  //如果相邻的两个不相等则放入新数组
                                                myTempData[j++]  =  myData; 
                               
                                return  myTempData; 

       
                    return  myData;

    第二种方法:
    public static string[] GetString(string[] values)
    {
                List<string> list = new List<string>();
                for (int i = 0; i < values.Length; i++)//遍历数组成员
                {
                    if (list.IndexOf(values[i].ToLower()) == -1)//对每个成员做一次新数组查询如果没有相等的则加到新数组
                        list.Add(values[i]);
               
                }

                return list.ToArray();
           
           
    }
  • 相关阅读:
    margin塌陷(collapse)
    this的值
    变量、函数声明提升
    Git与Svn的区别—笔记1
    ECMAScript 总结
    正则表达式
    i2c 通信
    player/stage 学习---安装
    各种分区类型对应的partition_Id
    ubuntu 映射网络驱动器到本地
  • 原文地址:https://www.cnblogs.com/ly5201314/p/1370581.html
Copyright © 2020-2023  润新知