现在的位置: 首页 > 综合 > 正文

[再读书]索引器

2012年08月07日 ⁄ 综合 ⁄ 共 1794字 ⁄ 字号 评论关闭
    class Person
    {
        
private string strName = string.Empty;

        public Person(string strName)
        {
            
this.strName = strName;
        }

        public string StrName
        {
            
get
            {
                
return strName;
            }
        }
    }

    /// <summary>
    
/// Person容器
    
/// </summary>
    class foo
    {
        List
<Person> persons = new List<Person>();

        /// <summary>
        
/// 索引器
        
/// </summary>
        
/// <param name="index"></param>
        
/// <returns></returns>
        public Person this[int index]
        {
            
get
            {
                
return persons[index];
            }
            
set
            {
                persons[index] 
= value;
            }
        }

        /// <summary>
        
/// 重载索引器
        
/// </summary>
        
/// <param name="strName"></param>
        
/// <returns></returns>
        public Person this[string strName]
        {
            
get
            {
                
foreach (Person pr in persons)
                {
                    
if (pr.StrName == strName)
                    {
                        
return pr;
                    }
                }
                
return persons[0];
            }
        }

        /// <summary>
        
/// 添加
        
/// </summary>
        
/// <param name="person">Person实例</param>
        public void AddPerson(Person person)
        {
            persons.Add(person);
        }

        /// <summary>
        
/// 移除
        
/// </summary>
        
/// <param name="person"></param>
        public void RemovePerson(Person person)
        {
            persons.Remove(person);
        }

        /// <summary>
        
/// 计数器
        
/// </summary>
        public int Count
        {
            
get
            {
                
return persons.Count;
            }
        }
    }

抱歉!评论已关闭.