删除列表元素

时间:2013-04-20 20:41:03

标签: c# list

我有一个TileToDraw类型列表,此类型声明如下:

[StructLayout(LayoutKind.Sequential)]
struct TileToDraw
{
    public Vector2 origin;
    public string type;

    public TileToDraw(Vector2 originIn, string typeIn)
    {
        origin = originIn;
        type = typeIn;
    }
}

我填充了这个,但想要删除具有特定原点(矢量)的图块。我应该使用哪种功能?

1 个答案:

答案 0 :(得分:4)

您可以使用LINQ创建新的List<TileToDraw>,其sourceList元素满足条件:

var newList = sourceList.Where(x => x.Origin != myOrigin).ToList();

或使用List<T>.RemoveAll方法直接从sourceList删除元素:

sourceList.RemoveAll(x => x.Origin == myOrigin);