C#foreach使用实例浅析

C# foreach使用实例向你全面展示了C# foreach的使用规范,以及在C# foreach中特别要注意的关键是实现IEnumerable 和IEnumerator 这两个接口:那么学习C# foreach这一C#新加入的语句,我们还是要多多练习和体会。

专注于为中小企业提供成都网站制作、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业南安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

C# foreach使用1. MySplit 类

 
 
 
  1. ///   
  2.  /// MySplit 类  
  3.  ///   
  4.  public class MySplit : IEnumerable  
  5.  {  
  6. private string[] elements;  
  7.  
  8. public MySplit(string source, char[] delimiters)  
  9. {  
  10. elements = source.Split(delimiters);  
  11. }  
  12.  
  13. IEnumerator IEnumerable.GetEnumerator()  
  14. {  
  15. return new MyEnumerator(this);  
  16. }  
  17.  
  18. #region 在嵌套类中实现 IEnumerator 接口  
  19. ///   
  20. /// 在嵌套类中实现 IEnumerator 接口,以便以后方便创建多个枚举  
  21. ///   
  22. public class MyEnumerator : IEnumerator  
  23. {  
  24. private int position = -1;  
  25. private MySplit t;  
  26.  
  27. public MyEnumerator(MySplit t)  
  28. {  
  29.  this.t = t;  
  30. }  
  31.  
  32. public bool MoveNext()  
  33. {  
  34.  if (position < t.elements.Length - 1)  
  35.  {  
  36. position++;  
  37. return true;  
  38.  }  
  39.  else 
  40.  {  
  41. return false;  
  42.  }  
  43. }  
  44.  
  45. public void Reset()  
  46. {  
  47.  position = -1;  
  48. }  
  49.  
  50. object IEnumerator.Current  
  51. {  
  52.  get 
  53.  {  
  54. try 
  55. {  
  56. return t.elements[position];  
  57. }  
  58. catch (IndexOutOfRangeException)  
  59. {  
  60. throw new InvalidOperationException();  
  61. }  
  62.  }  
  63. }  
  64. }  
  65. #endregion  
  66.  }  

C# foreach使用2. 使用过程(注意规范)

 
 
 
  1. MySplit mySplit = new MySplit("大豆男生: I Love You!", new char[] { ' ', '-' });  
  2.  foreach (string item in mySplit)  
  3.  {  
  4. Console.WriteLine(item);  
  5.  } 

C# foreach使用3. 程序输出结果

 
 
 
  1. 大豆男生:  
  2. I  
  3. Love  
  4. You! 

C# foreach使用的情况就向你介绍到这里,希望对你了解和学习以及C# foreach使用有所帮助。

文章名称:C#foreach使用实例浅析
URL标题:http://www.mswzjz.cn/qtweb/news6/2756.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能