【发布时间】:2011-06-15 08:09:13
【问题描述】:
我有一个看起来像这样的布尔数组
bool[] responses = new bool[] {true, false, true};
还有两个看起来像这样的类:
public class Person {
public IList<PersonDetail> PersonDetails
}
public class PersonDetail {
public bool Correct { get; set; }
}
PersonDetails
>> PersonDetail[0].correct = true
>> PersonDetail[1].correct = true
>> PersonDetail[2].correct = false
有没有一种简单的方法可以比较它们以查看每个真/假是否相等?
我试图使用 c# .SequenceEqual 但我不知道如何从中获取数据
将 PersonDetail 类转换成一个序列 xxx,我可以用它来与响应进行比较。
这是我目前所拥有的:
var equal = responses.Select(bool.Parse).SequenceEqual( xxx );
我需要做的是比较以下内容:
responses[0] == PersonDetail[0].correct and
responses[1] == PersonDetail[1].correct and
responses[2] == PersonDetail[2].correct
所以responses[x] 中的真值应该匹配PersonDetail[x] 中的真值,responses[x] 中的假值应该匹配PersonDetail[x] 中的假值
【问题讨论】:
-
这里有点混乱。是否要比较 Person 数组是否有重复项?
-
这当然是 for-loop 领域,我看不出 linq 除了减慢它还能做什么?
-
"我有一个像这样的字符串数组"...不,它是一个布尔数组。
标签: c#