C#判断list所有存储对象是否相等
时间: 2023-07-20 08:18:01 浏览: 45
C#如何判断两个文件是否完全相等
5星 · 资源好评率100%
要判断一个List中所有存储对象是否相等,需要对List中的每个对象逐一进行比较。可以使用以下两种方法:
方法一:使用LINQ中的`All()`方法
可以使用LINQ中的`All()`方法,将List中的每个对象与第一个对象进行比较,如果都相等,则返回`true`,否则返回`false`。
```csharp
bool allEqual = myList.All(x => x.Equals(myList[0]));
```
方法二:重载`Equals()`方法
可以在存储对象中重载`Equals()`方法,以便在比较时自定义比较规则。
```csharp
class MyClass
{
public int A { get; set; }
public int B { get; set; }
public override bool Equals(object obj)
{
if (obj == null || GetType() != obj.GetType())
{
return false;
}
MyClass other = (MyClass)obj;
return (A == other.A) && (B == other.B);
}
}
```
然后在比较List时,可以直接使用`Equals()`方法进行比较。
```csharp
bool allEqual = myList.All(x => x.Equals(myList[0]));
```
阅读全文