首页 > 解决方案 > 如何将数据值与列表中的值进行比较

问题描述

我正在尝试搜索可以是任何类型(int、string、bool 等)的值列表,但我找不到将给定值与列表中的值进行比较的方法。

到目前为止我的代码:


public void Countin(T data)
{
    int numbersOf = 0;
    Node pTmp = first;
    while (pTmp != null)
    {
         if (pTmp.Equals(data))
         {
             numbersOf++
             pTmp = pTmp.Next;
         }
         else
         {
              pTmp = pTmp.Next;
         }
    }

    Console.WriteLine($"There are {numbersOf} {data} in the list.");
}

用“我”、“我”、“得到”、“真的”、“真的”、“累”、“这个”的列表,

我不断得到“列表中确实有 0 个”的输出。当我将 numbersOf++ 从 'else' 交换时,我得到“列表中确实有 8 个”。

其余代码工作正常,只是“pTmp.Equals(data)”没有做我认为应该做的事情,但我不能只使用 pTmp == data,因为“data”是列表中的元素。

有什么帮助吗?

上述代码的每个部分都可以正常工作,除了将 pTmp 与数据进行比较!没有别的需要帮助!我只需要一种将数据变量与列表中的值进行比较的方法。

最终编辑:

我所要做的就是将布尔值更改为 if (Equals(pTmp.Data),data),它就起作用了。作为答案,我所需要的只是'Equals(x,y)会做你想做的事'。多谢你们。

标签: c#list

解决方案


推荐阅读