
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))
}
这样不好吧,你不如直接从数据库里读出不同的了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)