您的位置:首页 > 编程语言 > C#

C# 如何消除字符串数组的重复项的函数

2014-03-17 21:41 489 查看
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[i] != 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[i] != myData[i - 1])  

                myTempData[j++] = myData[i];  

        return myTempData;  

    }  

    return myData;  

}  

//演示1  

  

using System;  

using System.Collections.Generic;  

using System.Text;  

  

namespace 排除重复行  

{  

    class Program  

    {  

        static void Main(string[] args)  

        {  

            String[] a ={ "1", "1", "2", "1", "1", "3", "1", "1", };  

            Console.WriteLine("原数组长度:    {0}", a.Length);  

            Console.WriteLine("排除后数组长度:{0}",RemoveDup(a).Length);  

            Console.ReadKey();  

        }  

        public static String[] RemoveDup(String[] myData)  

        {  

            if (myData.Length > 0)  

            {  

                Array.Sort(myData);  

  

                int size = 1; //at least 1   

                for (int i = 1; i < myData.Length; i++)  

                    if (myData[i] != 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[i] != myData[i - 1])  

                        myTempData[j++] = myData[i];  

  

                return myTempData;  

            }  

  

            return myData;  

        }  

    }  

}  

//演示2  

  

using System;  

using System.Linq;//有了Linq很多事变的简单了  

  

namespace 排除重复行  

{  

    class Program  

    {  

        static void Main(string[] args)  

        {  

            String[] a ={ "1", "1", "2", "1", "1", "3", "1", "1", };  

            Console.WriteLine("原数组长度:    {0}", a.Length);  

            Console.WriteLine("排除后数组长度:{0}",a.Distinct<string>().ToArray().Length);  

            Console.ReadKey();  

         }  

     }   

}    

转自:http://www.yongfa365.com/Item/CRuHeXiaoChuZiFuChuanShuZuDeZhongFuXiangDeHanShu.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: