我是Csharp的新手
我有一个包含多个元素的列表。在将列表对象添加到列表之前,我想检查该对象是否已存在于列表中。
下面我给出了列表中有7个元素的样本列表,但我原来的要求列表中有20个以上的元素。
这就是为什么我要按原样比较列表对象并检查它是否存在。
我尝试了Contains(),LINQ,FINDALL()。没有任何效果。
我有一个非常大的数据集。
样品: 这是我的清单:
public class taxDetails
{
public string record { get; set; }
public string UpdateCd { get; set; }
public string EffDt { get; set; }
public string TermDt { get; set; }
public string TransCd { get; set; }
public string Id { get; set; }
public string Type { get; set; }
}
我想做这样的事情:
taxDetails ti = new taxDetails();
taxDetails.Add(ti);
只有当对象" ti"尚未列入清单。 我希望它比较所有7个元素并确定是否存在天气对象。
答案 0 :(得分:0)
我尝试了以下内容并且有效。
List<Tuple<string>> test = new List<Tuple<string>>()
{
new Tuple<string>("dfsg"),
new Tuple<string>("dfgfd"),
new Tuple<string>("sdfdsfsdf"),
new Tuple<string>("123")
};
var contians = test.Contains(new Tuple<string>("123"));
如果我不得不猜测它,因为你没有覆盖Equals方法。
public override bool Equals(
object obj )
尝试实现该功能,例如:
return this.field1 == obj.field1 && this.field2 == obj.field2 etc