在下面的场景中,“Pool”会被按值还是按引用返回?
我希望能实现在请求时循环遍历列表的能力(以便另一个线程可以添加/删除列表项,但调用线程的列表保持不变,从而foreach循环不会导致异常)。如果返回值,则它将是自己的列表,而如果是引用,则仍然存在列表被修改的危险。如果我有任何错误,请纠正我,这只是我的理解。
private static List<Item> Pool;
public static List<Item> GetPool()
{
return Pool;
}
我希望能实现在请求时循环遍历列表的能力(以便另一个线程可以添加/删除列表项,但调用线程的列表保持不变,从而foreach循环不会导致异常)。如果返回值,则它将是自己的列表,而如果是引用,则仍然存在列表被修改的危险。如果我有任何错误,请纠正我,这只是我的理解。