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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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#如何将xml数据转换成Array类型或者集合类?多谢!!!

C#如何将xml数据转换成Array类型或者集合类?多谢!!!
如将xsd\xml文件夹解析成树形结构。

如将下面的xml转换成c#中的数组或集合,可体现树形结构。
<html>
<head>
<title></title>

</head>
<body>

</body>

</html>

多了个谢!!!

public static List<string> GetDataFromXml(string xmlpath)

    XmlDocument doc = new XmlDocument();
    doc.Load(xmlpath);
    XmlNodeList nodes = doc.SelectNodes("descendant::item");
    List<string> values = new List<string>();
    foreach (XmlNode node in nodes)
    
        values.Add(node.InnerText);
    
    return values;

<?xml version="1.0" encoding="utf-8" ?>
<root>
  <item>ssss</item>
  <item>yyyy</item>
  <item>zzzz</item>
</root>

参考技术A 为(int i = 0; <bb.lenth; + +)


AA [I] =(字节)BB [I];

类型转换失败,因为ArrayList可以保存任何类型很容易!
参考技术B 用Dataset读取xml 读取之后是一张表 这样就很方便啊 参考技术C 如果该XML是由Dataset.WriteXML生成的,则可用Dataset直接读取,如果不是,则需用XMLReader来读取XML并逐行解析追问

请问该用什么结构存储才能保存成树形结构呢?多谢

追答

根据XML自定义结构即可。

以上是关于C#一个List或Array集合里是不是有相同数据的主要内容,如果未能解决你的问题,请参考以下文章

C#中如何判断2个集合中数据是不是相同

java遍历集合某字段,判断是不是存在相同的值。

C#如何将xml数据转换成Array类型或者集合类?多谢!!!

想问下。C#中怎么把List集合转为DataSet。

请问java有工具类取两个list的并集吗?

List集合中的对象根据某个相同的属性,合并另外属性