| |
|
![]() |
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 |
-> C# -> 从字符串数组中寻找数字的元素 -> 正文阅读 |
[C#]从字符串数组中寻找数字的元素 |
前几天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 然后,程序代码最终可以变成这样子: ![]() |
C# 最新文章 |
字符串阵列分别输出元素的索引,原值和长度 |
格式化你的字符串 |
C#宣告一个变量 |
C#中级 |
拆分一个字符串并把每个字符单独输出 |
通过手机号定位归属地 |
C# DBNULL与NULL之间的区别【转】 |
Xamarin |
List,DataTable实现行转列的通用方案 |
C# 语音识别 |
上一篇文章 下一篇文章 查看所有文章 |
|
360图书馆
软件开发
购物精选
智慧山
阅读网
日历
万年历
2021年3日历 2021/3/9 16:25:22 |
|
网站联系: qq:121756557 email:121756557@qq.com 编程知识 |