我的列表中有两个对象,并且希望确保这些对象的所有属性都具有相同的值。
例如:
List<Person> persons = new List<Person>
{
new Person { Id = "1", Name = "peter" },
new Person { Id = "1", Name = "peter" }
};
Run Code Online (Sandbox Code Playgroud)
现在我想知道true两个对象的属性是相同的。我尝试过以下 lambda 表达式。
var areEqual = persons.All(o => o == persons.First());
Run Code Online (Sandbox Code Playgroud)
但我要false进去了areEqual。我无法理解为什么会这样,并且想知道如何正确地做到这一点。
我编写了一项规则来检查列表中的对象 Id 是否不为空或为空。但规则并没有失败。我的代码有什么问题吗?
注意:ID 是字符串类型。
RuleFor(x => x.MyListOfObjects).Must(x => x.All(x => !string.IsNullOrWhiteSpace(x.Id)))
.WithMessage("The Id should not be empty or null.");
Run Code Online (Sandbox Code Playgroud)
欢迎任何指点或建议。