如何去List<实体>里面实体某个属性相同的数据

如何去List<实体>里面实体某个属性相同的数据,第1张

你这些数据是在数据库中的么?如果是在数据库中的可以用

sql语句

就可以搞定了

如果不是首先你这些数据是存在List数组中的么?还是一个集合中?

还是另一个类中?

你可以将这些取出来放在一个List<A>数组对象中起名叫result,然后返回

List<A>

temp

=

result.Where(x=>x.Name

==

"张三").ToList()

temp里面的内容就是你想要的了

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存