ArrayList元素比较

时间:2011-03-30 05:48:45

标签: asp.net arraylist

我有一个带有五个数字的ArrayList,例如1,2,3,4,5。相同的数字不能重复。我怎么检查呢?

4 个答案:

答案 0 :(得分:3)

您可以使用Arraylist.Contains()方法检查Arraylist中是否存在某个项目。

private void AddItems(object o)
{
if(!Arraylist1.Contains(o))
{
Arraylist1.Add(o);
}
}

http://msdn.microsoft.com/en-us/library/system.collections.arraylist.contains(v=VS.100).aspx

答案 1 :(得分:1)

在此代码中,我首先对ArrayList进行排序。然后我将contacts[i]contacts[i - 1]

进行比较
contacts.Sort(); // First Sort the array

for (int i=1; i <= contacts.Count-1; i++)
{
 Console.WriteLine(contacts[ i ]);
 Console.WriteLine(contacts[ i-1] );
 if(contacts[ i ].ToString() == contacts[ i-1 ].ToString())
 {
   Console.WriteLine("Duplicate: "+contacts[ i ]);
 }
}

答案 2 :(得分:1)

使用linq的另一种方式:

        ArrayList list = new ArrayList { 1, 9, 2, 1, 6, 5 };

        var x = from l in list.OfType<int>()
                group l by l into g
                where g.Count() > 1
                select g.Key;

        if (x.Count() > 0)
        {
           // Duplicate found
        }

答案 3 :(得分:0)

您可以构建一个函数来检查返回它定义的boolean,例如Is_It_Defined。之后,您可以在执行任何操作之前使用if语句进行检查。