码迷,mamicode.com
首页 > 其他好文 > 详细

foreach新解

时间:2019-12-07 10:37:08      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:++   list   设置   nbsp   strong   sim   span   arp   tac   

 

Person[] peopleArray = new Person[3]
{
      new Person("张三", 15),
      new Person("李四", 18),
      new Person("王五", 21),
};
People peopleList = new People(peopleArray);


//第一种方法(foreach)
foreach (Person p in peopleList)
{
     Console.WriteLine(p.Name + "\t" + p.Age);
}

//第二种方法(while)
IEnumerator enumeratorSimple = peopleList.GetEnumerator();
while (enumeratorSimple.MoveNext())
{
     Person p = enumeratorSimple.Current as Person;
     Console.WriteLine(p?.Name + "\t" + p?.Age);
}

 

 

当我们试图给item变量赋值的时候,vs智能提示,因为是迭代变量,无法赋值,也就是说当前变量是只读的,不能赋值,那基于这种情况,我们怎么整呢?

其实,foreach已经为我们提供了解决此问题的方法:用ref 迭代变量来设置 stackalloc 数组中每个项的值,具体代码如下:

 

List<int> countList = new List<int>() {0, 1, 2, 3, 4, 5};
foreach (ref var item in countList)
{
     item++;
}

  

foreach新解

标签:++   list   设置   nbsp   strong   sim   span   arp   tac   

原文地址:https://www.cnblogs.com/yexiaoyanzi/p/12000577.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!