如何知道对象包含在忽略大小写的列表中
本文关键字:大小写 列表 何知道 对象 包含 | 更新日期: 2023-09-27 18:01:10
我想知道如何比较一个对象,如果列表中包含该对象,则忽略大小写假设举一个的例子
Class A
{
public string p1;
public string p2;
}
Class B
{
List<A> lst=new List<A>();
A obj=new a();
A obj1=new a();
obj1.p1="ABCD";
obj1.p2="xyz";
obj.p1="abcd";
obj.p2="XYZ";
lst.add(obj1);
lst.contains(obj)//return false
}
所以我想知道如何比较?
您可以实现IEquatable来控制对象的比较方式。然后,您可以通过实现Equals((方法来指定您希望比较的确切工作方式:
public bool Equals(A other)
{
return this.P1.ToLower().Equals(other.P1.ToLower());
}
您的
第一个包含(obj(
然后应该根据需要工作。
在类A中,重写Equals方法以忽略大小写比较每个属性。
然后使用:
bool found = lst.FirstOrDefault(x => x.Equals(obj)) != null;
var result = lst.FirstOrDefault(c => c.p1 == obj.p1 && c.p2 == obj.p2);
if(result != null)
{
//Your Code is here.
}