我有一个TileToDraw类型列表,此类型声明如下:
[StructLayout(LayoutKind.Sequential)]
struct TileToDraw
{
public Vector2 origin;
public string type;
public TileToDraw(Vector2 originIn, string typeIn)
{
origin = originIn;
type = typeIn;
}
}
我填充了这个,但想要删除具有特定原点(矢量)的图块。我应该使用哪种功能?
答案 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);