从列表中删除自定义对象c#

时间:2016-02-14 21:42:09

标签: c#

我有这段代码

$type

填写清单后,我希望能够搜索清单,看看清单中的任何项目是否包含一个位置,即

Class location
{
     int X{Get; Set;}
     int Y{Get;Set;}
}

List<location> mylst = new List<location>();
Public Void SetupList()
{
    for(int i =0; i<8; i++)
    {
       for(int b=0; b<8; b++)
       {
         location loc = new location();
         loc.x = b;
         loc.y = i;
          mylst.Add(loc);
       }
    }
}

但我完全失去了如何做到这一点......

任何想法都会有所帮助,因为我尝试过的任何工作都没有效果

1 个答案:

答案 0 :(得分:3)

您有两种选择:

  1. Override Equals/== and GetHashCode。这样,当两个实例的匹配时,loc == tofind将生成true。

  2. 通过明确比较值进行搜索:

    var listFound = myList.Where(loc => loc.X == tofind.X && loc.Y == tofind.Y).ToList();