前几天Insus.NET有写过一篇《从字符串数组中把数字的元素找出来》http://www.cnblogs.com/insus/p/8001026.html

和它的延伸篇《C# yield关键词使用》http://www.cnblogs.com/insus/p/8003809.html

那是写一个类别来处理数字元素并收集起来。

开发程序,解决方法不是唯一的。相同的功能实现,方法不止一个。下面Insus.NET再使用另外的方法来实现,算作对基础知识的巩固与掌握。

参考下面代码:

上面#21至#30行代码,可以改用yield方法,返回循环结果:

 class Ak{private string[] _stringArray;public Ak(string[] stringArray){this._stringArray = stringArray;}public IEnumerable<Digit> Result(){//  var result = new List<Digit>();foreach (string s in _stringArray){string pattern = "^[0-9]";Regex regex = new Regex(pattern);if (regex.IsMatch(s))yield return new Digit(Convert.ToInt32(s));}// return result;
        }public void Output(){foreach (Digit d in Result()){Console.WriteLine(d.ToString());}}}

Source Code

运行结果:

得到的结果与前一篇写自定义的方法进行验证的结果一样。

为了日后方便与维护,你可以把正则验计的代码,写成一个方法,或者是扩展方法,在程序需要正则验证时,直接使用这个方法即可。达到面向对象的三个要素这一,封装:

使用正则来处理,创建一个扩展方法:

public static bool Match(this string value, string pattern){Regex regex = new Regex(pattern);return regex.IsMatch(value);}

Source Code

然后,程序代码最终可以变成这样子:

转载于:https://www.cnblogs.com/insus/p/8004590.html

从字符串数组中寻找数字的元素相关推荐

  1. matlab中统计数组中各数字(元素)出现的次数

    1. tabulate 调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数.频率 [例1]统计数值型数组中各元素出现的频数.频率. >> x = [2 2 6 ...

  2. Matlab 统计数组中各数字(元素)出现的次数

    如何统计一个数组中各数字(元素)出现的频数.频率和累积频率?这里以案例形式做一个总结. 第一种方法:调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数.频率 [例1]统计 ...

  3. 判断字符串数组中的数字是否对称

    分析以下需求,并用代码实现: (1)定义数字字符串数组{"010","3223","666","7890987",&qu ...

  4. JavaScript在数组中寻找相同对象元素的问题

    这两天在写项目的时候,我用数组存储对象元素,但是用indexOf方法寻找数组中对象的下标时出现了问题.indexOf方法一直返回-1,即没有找到对象.但我很确定数组中有该对象元素,那究竟是怎么回事呢? ...

  5. python numpy np.fromstring()函数(从字符串文本中提取数字,返回一维数组)(爬虫提取数字挺好用的)

    from numpy\core\multiarray.py def fromstring(string, dtype=None, count=-1, sep=''): # real signature ...

  6. Java统计数组中各个数字出现的个数和字符串中各个字符出现的个数

    一.前言 对于统计个数问题,我们一般利用HashMap来解决,其中key表示原始元素值,value表示其出现个数或出现次数.主要步骤为: 1.创建一个HashMap<Character, Int ...

  7. js 判断数组中是否存在某个元素(字符串,类等)

    方法一:indexOf(item,start) Item:要查找的值: start:可选的整数参数,缺省则从起始位子开始查找. indexOf() 返回元素在数组中的位置,如果没有则返回-1,该方法只 ...

  8. 判断数组中是否包含某个元素,判断对象中是否包含某个属性,判断字符串中是否包含某个字符串片段

    1-判断对象中是否包含某个元素 方法一: 使用in var str = {name:"mayouchen",name:"js", age:100 }alert( ...

  9. 未能比较数组中的两个元素_算法3 寻找两个正序数组的中序数

    问题描述: 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的中位数.要求设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题. ...

最新文章

  1. 如何从三流程序员成长为一名年薪50W的架构师(文末附送学习资料)
  2. drone + gogs 构建CI/CD
  3. java按钮调用 后台方法_onclick怎么调用后台中的一个方法
  4. WIN32 使用事件实现高效生产者消费者模型
  5. VTK修炼之道58:图形基本操作进阶_点云配准技术(迭代最近点ICP算法)
  6. JAVA NIO 实例
  7. [蓝桥杯]回形取数-方向向量+模拟
  8. ElasticSearch映射Mapping
  9. Adidas、金拱门、KFC、乐天玛特,零售巨头的选址秘诀都在数据里了
  10. Vue 子组件调用父组件的方法
  11. iOS开发之Runloop(转)
  12. 勤能补拙 VS 思考补拙
  13. [数据恢复答疑]删除了WINDOWS桌面上的文件,该如何恢复数据
  14. Android集成高德地图实现自定义Marker
  15. 以下选项属于python哲学内容的是_[南开大学]18秋学期(清考)《哲学与人生》在线作业...
  16. 娃哈哈,又c,又JAVA的,莫明其妙的
  17. 压电式雨量传感器数字感知降雨量
  18. Vue项目中设置背景图片
  19. ubuntu16.04下源码安装arachni扫描器
  20. JAVA视频学习笔记-马士兵(六)

热门文章

  1. Oracle SGA优化
  2. MSComm写串口通信驱动步骤
  3. 光影变幻:自动化所基于最优传输理论的影视换脸技术
  4. 2020 COCO Keypoint Challenge 冠军之路!
  5. CVPR 2020 论文大盘点-动作检测与动作分割篇
  6. 【Java】京东面试:说说MySQL的架构体系
  7. python 编写简单网页服务器
  8. 2020年 2 篇异常算法最佳综述
  9. 学术前沿 | DeepMind最新成果:图表示学习算法推理~46页ppt
  10. 干货!639页《深度学习:Deep Learning》硬核课程PPT