C#一个List或Array集合里是否有相同数据

2025-04-23 11:19:13
推荐回答(5个)
回答(1):

如果只是判断重复的话 用双重for循环即可

for(int i=0;i  for(int j=i+1;j    if (lst[i]==lst[j]) { //那么就是有重复了... }
  }
}

回答(2):

        private void button9_Click(object sender, EventArgs e)
        {
            ArrayList list = new ArrayList();
            list.Add("a");
            list.Add("b");
            list.Add("c");
            list.Add("a");
            if (list.ToArray().Cast().Distinct().Count() < list.Count)
            {
                MessageBox.Show("ArrayList中有相同");
            }

            List list2 = new List();
            list2.Add("a");
            list2.Add("b");
            list2.Add("c");
            list2.Add("a");
            if (list2.Distinct().Count() < list2.Count())
            {
                MessageBox.Show(" List中有相同");
            }
        }

回答(3):

简单一点,双重循环呀。
复杂一点,哈希表。
for(int i=0;i{
for(int j=i+1;j { if(list[i]==list[j])
//有重复的
}
}

回答(4):

List list = new List();
list.Add("a"); //1
list.Add("b"); //2
list.Add("c"); //3
list.Add("a"); //4
string ee = string.Empty;
int ncount = 0;
string a = string.Empty;
string a2 = string.Empty;
for(int j=0;j {
a = list[ncount];
a2 = string.Empty;
for (int i = 0; i < list.Count; i++)
{
a2 = list[i];
if (i!=0&&a2 == a)
{
ee=ee+ ",第"+i+"个数据和"+ncount+"个数据是一样的";
}
}
ncount = ncount + 1;
a = list[ncount];
}

回答(5):

List list=new List();
list.add("a"); //1
list.add("b"); //2
list.add("c"); //3
list.add("a"); //4

int index=0;
int count = 0;

while( (index=list.indexOf("a", index)) != -1 )

count++;

// "a"的数量为count个