从集合中删除冗余数据

时间:2012-12-06 12:31:18

标签: c# entity-framework collections

从数据库中我得到一个包含重复数据的集合列表 例如 - 列表的总长度为4,其中包含

等元素
Item[0].Id  9
Item[1].Id  10
Item[2].id  9
Item[3].id  10

我希望该集合的长度为2,同时ID为

Item[0].Id  9, 10
Item[1].Id  9,10

1 个答案:

答案 0 :(得分:0)

你的问题有点不清楚,所以我要发表你的评论,你不想在你的项目集中重复这个问题。如果这确实准确,那么我可以想到两个可能的解决方案:一个是从数据库中获取数据时过滤重复项,另一个是在c#代码中强制执行此操作。

当你输入你的例子时,它不会将输出改为两个整数逗号分隔,但从你后来的评论判断,这不是你想要做的。

SQL解决方案 如果您使用sql来检索数据,则可以使用distinct,例如:

select id from aTable

变为:

select distinct id from aTable

C#收集解决方案 例如,您可以使用arraylist的内置函数来防止重复:

var data = new int[4];
data[0] = 9;
data[1] = 9;
data[2] = 10;
data[3] = 10;

var item = new ArrayList();

foreach (int i in data)
    if (!item.Contains(i)) item.Add(i);

我希望其中一个解决你的问题!祝你好运!