-2

我正在寻找在 for each 循环中迭代时如何清除列表?

代码 :

我在这里上课

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>();

和一个 for each 循环迭代

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(); 这使计数为零?

非常感谢如果有帮助...

4

2 回答 2

1

这些值在对象中而不是在类中。

为了向您展示如何操作,请尝试以下步骤: 循环完成后,创建另一个Emailmembers. 像这样在这一行之后的代码上放一个断点

} //Loop ends here

Emailmembers em = new Emailmembers();

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

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

于 2013-10-15T02:01:51.640 回答
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    
                });  
} 
于 2013-10-15T02:28:18.883 回答