datalist读取的数据有重复,怎么才能让相同的数据只显示一条

datalist读取的数据有重复,怎么才能让相同的数据只显示一条,第1张

1、从数据库方面考虑 select distinct name from users

2、如果你datalist中的相同数据是有序(相同的ID在一起)的

eg:ID

1

1

2

3

用以下方法(原理:相同ID的只取一次):

for(int x = 0x <datalist.countx++)

{

for(int y = x + 1y <datalist.county++)

{

if (datalist[y] == datalist[x])

{

//取出你要的记录

}

}

3、如果你datalist中的相同数据是无序(相同的ID可能不在一起)的

eg:ID

1

2

3

1

用以下方法(这里以取出没有重复ID为例):

//[ 创建一个结果对象 ]

List<string>listResult=new List<string>()

//[ 循环datalist ]

for(int i = 0i <datalist.Counti++)

{

//[ 依次从datalist往listResult对象中放入不重复的值 ]

listResult.Add(datalist[i])

//[ 从datalist中第i个值往后循环比较 ]

for(int j=i+1j<datalist.Count)

{

//[ 判断是否有相同的ID]

if(datalist[i] == datalist[j])

{

//[ 有相同的ID ]

//[ 从datalist列表中移除后一个ID(即datalist[j]) ]

datalist.RemoveAt(j)

}

else

{

//[ 没有相同的ID ]

//[ 进行下一次循环 ]

j++

}

//[ 从datalist中移除已经加入到结果对象中的ID ]

datalist.RemoveAt(i)

}

}

当循环结束时,listResult列表中的值即您要的结果

listResult[0]=1

listResult[1]=2

listResult[2]=3

//导入linq命名空间, 然后distinct一下就可以了. 关键代码如下:

using System.Linq

//比如,list实例为list

var obj = list.Distinct()

//或者麻烦点要根据list的字段xxx过滤就是

var obj_1=from p in list select p.xxx distinct()

扩展资料

list()函数与array()类似,只是它可以在一次 *** 作中从一个数组内提取多个值,同时为多个变量赋值。其形式如下:

voidlist(mixed…)

从数据库或文件中提取信息时,这种构造尤其有用。例如,假如你希望格式化并输出从一个文本,文件中读取信息。文件的每一行都包含用户信息,如姓名、职业和喜爱的颜色,每一项用竖线分隔。典型的一行如下所示:

Nino Sanzi|profesional golfer|green

可以通过一个简单的循环使用list()来读取每一行,将各部分数据赋给变量,按照需要格式化并输出数据。

参考资料来源:百度百科:list

for(int i=0i<listA.size()i++){

for(int j=0j<listB.size()j++){

if(listA.get(i)==(listB.get(j)){

contine

}

}

listC.add(listA.get(i))

}

这样不好吧,你不如直接从数据库里读出不同的了


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9419487.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存