zoukankan      html  css  js  c++  java
  • C# 中实现 foreach 功能

    1. MySplit 类
        /// <summary>
        
    /// MySplit 类
        
    /// </summary>
        public class MySplit : IEnumerable
        {
            
    private string[] elements;

            
    public MySplit(string source, char[] delimiters)
            {
                elements 
    = source.Split(delimiters);
            }

            IEnumerator IEnumerable.GetEnumerator()
            {
                
    return new MyEnumerator(this);
            }

            
    #region 在嵌套类中实现 IEnumerator 接口
            
    /// <summary>
            
    /// 在嵌套类中实现 IEnumerator 接口,以便以后方便创建多个枚举
            
    /// </summary>
            public class MyEnumerator : IEnumerator
            {
                
    private int position = -1;
                
    private MySplit t;

                
    public MyEnumerator(MySplit t)
                {
                    
    this.t = t;
                }

                
    public bool MoveNext()
                {
                    
    if (position < t.elements.Length - 1)
                    {
                        position
    ++;
                        
    return true;
                    }
                    
    else
                    {
                        
    return false;
                    }
                }

                
    public void Reset()
                {
                    position 
    = -1;
                }

                
    object IEnumerator.Current
                {
                    
    get
                    {
                        
    try
                        {
                            
    return t.elements[position];
                        }
                        
    catch (IndexOutOfRangeException)
                        {
                            
    throw new InvalidOperationException();
                        }
                    }
                }
            }
            
    #endregion
        }

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

    3. 输出结果
       大豆男生:
       I
       Love
       You!

    相关文章:C# 中实现索引指示器

    本文地址:http://www.cnblogs.com/anjou/archive/2007/07/05/807357.html

  • 相关阅读:
    User Get 'Access Denied' with Excel Service WebPart
    How To Search and Restore files from Site Collection Recycle Bin
    How To Collect ULS Log from SharePoint Farm
    How To Restart timer service on all servers in farm
    How to Operate SharePoint User Alerts with PowerShell
    How to get Timer Job History
    Synchronization Service Manager
    SharePoint 2007 Full Text Searching PowerShell and CS file content with SharePoint Search
    0x80040E14 Caused by Max Url Length bug
    SharePoint 2007 User Re-created in AD with new SID issue on MySite
  • 原文地址:https://www.cnblogs.com/anjou/p/807357.html
Copyright © 2011-2022 走看看