当前位置: 代码迷 >> ASP.NET >> System.Array中GetValue(i)获取的两项的值比较有关问题
  详细解决方案

System.Array中GetValue(i)获取的两项的值比较有关问题

热度:1288   发布时间:2013-02-25 00:00:00.0
System.Array中GetValue(i)获取的两项的值比较问题
需要一个方法能够将数组中的重复项移除,数组可能是int,string或者其他类型的,
方法如下:

public   static   ArrayList   RemoveRepeate(Array   arr)
                {
                        bool   flag   =   false;
                        Type   itemType   =   arr.GetValue(0).GetType();
                        ArrayList   itemList   =   new   ArrayList();
                        for   (int   i   =   0;   i   <   arr.Length;   i++   )
                        {
                                flag   =   false;
                                for   (int   j   =   i   +   1;   j   <   arr.Length;   j++   )
                                {
                                        //Array.GetValue(int)返回的是object类型的数据,在这里使用==比较显然不合适,但是怎么才能将Array.GetValue(int)转换成特定的类型后比较呢?
                                        if   (arr.GetValue(i)   ==   arr.GetValue(j))
                                        {
                                                flag   =   true;
                                                break;
                                        }
                                }
                                if(!flag)
                                {
                                        itemList.Add(arr.GetValue(i));
                                }
                        }
                        return   itemList;
                }

------解决方案--------------------------------------------------------
public static ArrayList RemoveRepeate(Array arr)
{
      ArrayList arTemp = new ArrayList();
  相关解决方案