2013-04-20 69 views
-3

我有型TileToDraw的名單,與這種類型的聲明如下:刪除列表中的元素

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

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

我已填充這一點,但要刪除它有一個特別的原點(矢量)瓷磚。我應該使用哪種功能?

回答

4

可以使用LINQ從sourceList滿足創建新List<TileToDraw>與元件條件:

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

,或者使用List<T>.RemoveAll方法從sourceList直接刪除元素:

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