C#中怎么判断一个数是不是在一个集合里?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中怎么判断一个数是不是在一个集合里?相关的知识,希望对你有一定的参考价值。

不知道您说的是哪种集合?是数组吗?
如果是数组中可以利用循环来做比较可以出来的。
比如:
int num[5]=new num1,2,3,4,5;
int sum1=4;//假如你要找的数字是4
for(int i=0;i<num.length;i++)

if(sum1==num[i])

messageBox.show("在数组中找到对应的数字了在下标"+i);

参考技术A 普通查找遍历即可. 如有序集合,可选择相应的方法,例如二分等方法,提高查找效率 参考技术B 用for循环或者foreach都可以,暂时只想到这两中方法 参考技术C 使用foreach遍历:
foreach(int i in ..)

if(i==XX)
...
else
..
参考技术D 用循环语句遍历查找看有没有符合条件的一个个去试试看

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

请问哪位老师懂得C# 中如何判断 一个集合中例如:
ArrayList arraylist = new ArrayList ();

List<String> list=new List<String>();
-----------------------------------------------------------
上面随意一个数组中的“数据”是否有相同的
例:
List<String> list=new List<String>();
list.add("a"); //1
list.add("b"); //2
list.add("c"); //3
list.add("a"); //4

请问怎么用循环判断出list集合中 1和4 相同呢?,求会的老师教教,感谢

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

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

参考技术A         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<string>().Distinct<string>().Count() < list.Count)
            
                MessageBox.Show("ArrayList中有相同");
            

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

参考技术B 简单一点,双重循环呀。
复杂一点,哈希表。
for(int i=0;i<list.count;i++)

for(int j=i+1;j<list.count;j++)
if(list[i]==list[j])
//有重复的

本回答被提问者采纳
参考技术C List<String> list = new List<String>();
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<list.Count;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];
参考技术D List<String> list=new List<String>();
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个

以上是关于C#中怎么判断一个数是不是在一个集合里?的主要内容,如果未能解决你的问题,请参考以下文章

比较两个list里是不是有相同的元素

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

java怎么比较两个list是不是相同?

java 怎么比较两个list是不是相同

java怎么比较两个list是不是相同?

如何判断一个集合是不是为空?