从字符串数组中把数字的元素找出来

下面这个字符串数组:

 string[] str = { "3","y","34","QQ","41","adsf4","7","52"};


实现这个要求的方法也许会很多。下面Insus.NET使用一个通用的方法来实现:
面向对象,创建一个类别Class Digit:

 

复制代码
  class Digit
    {
        private int _D;

        public int D
        {
            get { return _D; }
            set { _D = value; }
        }

        public Digit(int digit)
        {
            this._D = digit;
        }
    }
复制代码

 

在类别中,添加2个方法,一是判断元素是否为数字,另一个是是重写ToString()方法:

 

复制代码
 public static bool TryParse(string str, out Digit digit)
        {
            digit = null;

            if (string.IsNullOrEmpty(str))
                return false;

            int i;
            if (!int.TryParse(str, out i))
                return false;
            digit = new Digit(i);
            return true;
        }

        public override string ToString()
        {
            return _D.ToString();
        }
复制代码

 

 方法已经实现,可以在控制台中测试一下:



复制代码
 string[] str = { "3","y","34","QQ","41","adsf4","7","52"};

            var result = new List<Digit>();

            foreach (string s in str)
            {
                Digit d;
                if (Digit.TryParse(s, out d))
                    result.Add(d);
            }

            foreach (Digit d in result)
            {
                Console.WriteLine(d.ToString());
            }
复制代码
posted @ 2017-12-07 23:37  ~雨落忧伤~  阅读(86)  评论(0编辑  收藏  举报