string people = "张龙,赵虎,王朝,马汗,赵虎,马汗";用什么方法可以最快的过滤掉重复的,得到一个值:string people = "张龙,赵虎,王朝,马汗";
注:人数有可能比较多

解决方案 »

  1.   

    不是特别多可以一次做完,先用Split(',')方法分割名字,得到一个数组,用一个二重循环,从第二个起每个都要和前面所有的比,重复就删除把自己设为空,最后连接就行了.
    对了,到底有多少人.
    如果人数特别多,那么我觉得应该先排序,当然,先要分割名字了,这样就不用和所有的比了,当前项和下一项比,如果相同把当前项置空,下一项再设为当前项.
    如不同,当前项和下一项一起下移.
      

  2.   

    使用Split方法转到数组,再循环处理,删除多余的元素,最后恢复为一个字符串。
      

  3.   

    楼上的:使用Split方法转到数组,再循环处理……
    用什么方法循环处理效率会高点?
      

  4.   

    1、split 分割成数组arr
    2、声明一个新的空字符串str=arr[0];
    3、从第二个元素起,循环按以下步骤处理数组的每一个元素:
       if (str.Indexof(arr[i])=-1)
        {
            str=str.insert(0,arr[i]+',');
        }
      

  5.   

    怎么都是一些遍历的,不知道可不可以使用二分法等一些算法
    =========================================================
    楼上的方法没什么不好啊。如果你追求筛选时的速度就必须在其他地方损失一定的效率。
    比如你说要二分,那么你就要对split出来的array做排序,或者也可以做类似hash的映射。