如何清除foreach循环中的列表字段?

时间:2013-10-15 01:58:46

标签: c# c#-4.0

我正在寻找如何在为每个循环迭代时清除列表?

代码:

这里我有一个班级

class Emailmembers
{
    public string _firstName { get; set; }
    public string _lastName { get; set; }
    public string _Address { get; set; }
    public string _subscribe { get; set; } 
}

和一个清单

List<Emailmembers> emailmembers = new List<Emailmembers>();

和每个循环迭代

foreach(string[] item in body) 
{
    /* here I will get the fields 
    1.FName
    2.LName
    3.Address
    4.Subscribe*/    

最后将上述字段添加到列表中

emailmembers.Add(new Emailmembers
                {
                    _address = Address,
                    _firstName = FirstName,
                    _lastName = LastName,
                    _subscribe = Subscribe    
                });       
             }

在此之后如何清除我的字段,以便将旧值添加到我的列表中并清除,因此它将针对新字段值进行另一个循环。 我用过emailmembers.clear();这使得计数为零?

非常感谢,如果有任何帮助......

2 个答案:

答案 0 :(得分:1)

值在对象中,而不在类中。

要向您展示如何操作,请尝试以下步骤:完成循环后,创建另一个Emailmembers对象。像这样在

之后的代码之类的代码上设置一个断点
} //Loop ends here

Emailmembers em = new Emailmembers();

em._address = "Foo"; //Put a break point here

现在看看em的属性。所有都是字符串类型,它们将是null,证明您的值不会被保留。

答案 1 :(得分:0)

在循环内创建文件,然后为每个循环项自动清除

foreach(string[] item in body) 
{
  var address = // set the address;
  var firstName= // set the FirstName;
  var lastName= // set the LastName;
  var subscribe    = // set the Subscribe;
  emailmembers.Add(new Emailmembers
                {
                    _address = address,
                    _firstName = firstName,
                    _lastName = lastName,
                    _subscribe = subscribe    
                });  
}