我有包含属性的对象列表
Id
和Name
。
foreach (var x in mydata)
{
var model = new MyViewModel()
{
Id = x.Days.Id,
Name = x.Days.Name
};
models.Add(model);
}
我正在返回包含重复项目的列表(模型),如何返回内部不同项目的列表?
答案 0 :(得分:1)
如果您希望元素与Id区分开来:
foreach (var x in mydata)
{
var model = new MyViewModel()
{
Id = x.Days.Id,
Name = x.Days.Name
};
if(!models.Contains(x=>x.Id==model.Id)
models.Add(model);
}
答案 1 :(得分:1)
你可以使用HashSet<T>
,类似的东西:
// Ids that was used before
HashSet<int> Ids = new HashSet<int>();
foreach (var x in mydata) {
// Check for duplicates
if (Ids.Contains(x.Days.Id))
continue; // <- duplicate
else
Ids.Add(x.Days.Id);
// Your code
var model = new MyViewModel() {
Id = x.Days.Id,
Name = x.Days.Name
};
models.Add(model);
}