将列表<>如果调用此方法,请清除其值?

时间:2014-01-17 04:35:33

标签: c# winforms list

我有一个由List<>组成的方法,它将根据所选字段进行更改。

如果我记得由不同值组成的方法是否删除了列表中的项目?

我声明了这样的方法:

private int mymethod(int g)
{
    List<int> list1 = new List<int>();
    List<int> list2 = new List<int>();
    List<int> list3 = new List<int>();
    return list1.Sum();
}

4 个答案:

答案 0 :(得分:3)

在你的情况下虽然list1没有任何分配给它的东西,所以我想知道你在这里总结一下是什么。并专门回答你的问题是的,每次方法调用都会重新创建list1

您需要在此处了解scope变量。

之外,在方法中创建的任何实例都无法访问。

答案 1 :(得分:2)

是的,一旦方法终止,方法内局部变量的值将被清除。每次调用时都不会保留这些值。

你可以在方法之外声明列表。

答案 2 :(得分:0)

如果你重新初始化你编写的实例,是的。 它将用最后一个替换新实例。

答案 3 :(得分:0)

实际的List对象本身不仅会被清除,而且在方法返回后甚至不会存在。每次调用方法时都会重新创建它们。