【发布时间】:2018-06-22 12:03:27
【问题描述】:
我有一个 class object(obj1) 的 List,并且该类包含另一个 List 的另一个 class object(obj2)。以下是我的代码:
public List<Class1> Obj1{ get; set; }
public class Class1
{
[DataMember]
public int Class1Id { get; set; }
[DataMember]
public string Class1Desc { get; set; }
[DataMember]
public List<Class2> obj2{ get; set; }
}
public class Class2
{
[DataMember]
public int Class2Id { get; set; }
[DataMember]
public string Class2Desc { get; set; }
}
现在,我需要填充变量以确保不会得到重复值(即 Class1Id 和 Class2Id 的组合应该是唯一的)。
我不想使用循环。我怎样才能做到这一点?
【问题讨论】:
-
您可以使用您在 Class1 中制作的某种方法单独设置它们
-
你可以使用
Hashset<Class2>? -
“现在,我需要填充变量” - 哪些变量?班上的那些?如果是这样,您的数据来源是什么?或者您是否从 Obj1 列表中填充其他变量,在这种情况下您要填充哪些变量以及使用哪些数据?
-
这是一个衬里:var result = Obj1.SelectMany(x=> x.obj2.Select(y=> new {x,y})).GroupBy(t=> new {txClass1Id, tyClass2Id}).Select(x=> x.First()).ToList();
-
你能举个例子吗?你觉得标题合适吗?你认为正则表达式相关吗?