• 创造自己的群集类型----之----扩展预定义群集类型属性


    通过继承FameWork为我们定义好的群集对象,并对其做扩展处理,可以达到我们想要的结果,本例以ArrayList群集为例,在ArrayList中添加最长/最短元素属性。

    注:本例仅作为创建自己群集的方法思路,请勿硬套实际业务或项目。

    public class MyStringCollection: ArrayList
    {

    /// <summary>
    /// 获取ArrayList中的最长元素
    /// </summary>
    private string _longestString;
    public string LongestString
    {
      get
      {
        return _longestString;
      }
      set
      {
        _longestString = value;
      }
    }

      /// <summary>
      /// 获取ArrayList中的最短元素
      /// </summary>
      private string _shortestString;
      public string ShortestString
      {
        get
        {
          return _shortestString;
        }
        set
        {
          _shortestString = value;
        }
      }

      /// <summary>
      /// 重写父类方法,为属性赋值
      /// </summary>
      /// <param name="value"></param>
      /// <returns></returns>

      public override int Add(object value)
      {
        base.Add(value);

        if (LongestString == null)
        {
          LongestString = value.ToString();
        }

        //最长元素

        foreach (var v in base.ToArray())
        {
          if (v.ToString().Length > LongestString.Length)
          {
            LongestString = v.ToString();
          }
        }

        //最短元素

        foreach (var v in base.ToArray())
        {
          if (v.ToString().Length < LongestString.Length)
          {
            LongestString = v.ToString();
          }
        }

        return base.Add(value);
      }
    }

    调用:

    protected void Page_Load(object sender, EventArgs e)
    {

      string longLen = string.Empty;

      string shortLen = string.Empty;
      MyStringCollection myCollection = new MyStringCollection() { "ddds1", "sdfffffffs2", "sasa", "gggggggggggggg444444444g" };
      longLen = dm.LongestString;

      shortLen = dm.ShortestString;


      HttpContext.Current.Response.Write(string.Format("集合中最长字符串:{0}!", longLen ));

      HttpContext.Current.Response.Write(string.Format("集合中最短字符串:{0}!", shortLen ));

    }

    页面显示:
    集合中最长字符串:gggggggggggggg444444444g!
    集合中最短字符串:sasa!

  • 相关阅读:
    Python Day23
    Python Day22
    Python Day21
    Python Day20
    Python Day19
    Python Day18
    Python Day17
    python全栈开发 * 18 面向对象知识点汇总 * 180530
    python全栈开发 * 15知识点汇总 * 180621
    python全栈开发 * 14 知识点汇总 * 180530
  • 原文地址:https://www.cnblogs.com/jack-Leo/p/6233530.html
Copyright © 2020-2023  润新知