将C#列的值一起比较

DoI*_*oIt 1 c# list

我有一个名为AxiomSubset6列的C#列表,其中有几行数据,我想检查列表中特定列的所有值是否相等,如果它们相等则应返回true并转到下一列列并检查它们的相等性等.

例如,我在列表中有以下数据行

CC   Mon    str     stg  rate   units 

HP  15-Mar              4.0800  4
HP  15-Feb              4.0800  4
HP  15-Jan              4.0800  4
LN  15-Mar  3.25    Put 0.0500  50
LN  15-Feb  3.25    Put 0.0500  50
LN  15-Jan  3.25    Put 0.0500  50
LN  15-Mar  3.50    Put 0.1000  50
LN  15-Feb  3.50    Put 0.1000  50
LN  15-Jan  3.50    Put 0.1000  50
Run Code Online (Sandbox Code Playgroud)

在上面的数据中检查列的相等性时,CC它应该返回false,因为它们都不相等

我尝试按如下方式进行操作,将一行与前一行进行比较,显然没有给出预期的结果

for (int i = 0; i < AxiomSubSet.Count; i++)
{
    if (AxiomSubSet[i].CC.ToString() == AxiomSubSet[i + 1].CC.ToString())
    {
        result = true;
        if (AxiomSubSet[i].term.ToString() == AxiomSubSet[i + 1].ToString())
        {
            //So On
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码一次比较两个值,如果它们相等则返回true而不考虑其他不需要的值.

有没有更好的方法呢?

小智 5

你可以为每一列做这样的事情.

if((AxiomSubSet.Select(x => x.CC).Distinct().ToList()).Count > 1)
Run Code Online (Sandbox Code Playgroud)