2014-01-24 43 views
0

如何传递数组而不复制它? 我:传递数组而不是副本c#

​​

所以我想只选择我的某种类型的对象,并没有作为一个copy.Is可以返回相同的阵列?

+2

你需要一个集合?你可以使用一个查询而不需要持久化:'return mMapGameObjects.Where(g => g.Type == type);' –

+10

* *传递一个C#*数组* *时,你不创建一个副本,只是传递一个参考。另一方面,你的代码与传递数组完全不同。请考虑并在文本中指定“it”的含义“...它的副本”。 –

+0

你是否试图从原始数组中删除所有不属于给定类型的对象?你的代码返回一个新的数组。该数组中的对象是mMapGameObjects中的对象的“原件” - 不是副本。 –

回答

3

除非你真的需要一个数组作为结果考虑返回IEnumerable<GameObjectTemplate>

public IEnumerable<GameObjectTemplate> GetObjects(GameObjectType type) 
{ 
    return mMapGameObjects.Where(m => m.Type == type); 
} 
+0

啊谢谢我可以使用自定义的枚举器。我很新:D谢谢 –

相关问题